76 lines
2 KiB
Text
76 lines
2 KiB
Text
==========================================
|
|
parses regexes
|
|
==========================================
|
|
theFunction(/regex1/, /regex2/g);
|
|
---
|
|
(program (expression_statement (function_call (identifier)
|
|
(regex) (regex))))
|
|
|
|
==========================================
|
|
parses numbers
|
|
==========================================
|
|
theFunction(100.0, 200);
|
|
---
|
|
(program (expression_statement (function_call (identifier)
|
|
(number) (number))))
|
|
|
|
==========================================
|
|
parses strings
|
|
==========================================
|
|
theFunction('', "", 'single-quoted-string', "double-quoted-string");
|
|
---
|
|
(program (expression_statement (function_call (identifier)
|
|
(string) (string) (string) (string))))
|
|
|
|
==========================================
|
|
parses function expressions
|
|
==========================================
|
|
var x = {
|
|
theMethod: function(argA, argB) {
|
|
var x = argA;
|
|
}
|
|
};
|
|
---
|
|
(program
|
|
(var_declaration
|
|
(identifier)
|
|
(object (identifier) (function_expression
|
|
(formal_parameters (identifier) (identifier))
|
|
(statement_block (var_declaration (identifier) (identifier)))))))
|
|
|
|
==========================================
|
|
parses comments
|
|
==========================================
|
|
// this is the beginning of the script.
|
|
// here we go.
|
|
var thing = {
|
|
|
|
// this is a property.
|
|
// its value is a function.
|
|
key: function(x /* this is a parameter */) {
|
|
|
|
// this is a statement
|
|
doStuff();
|
|
}
|
|
};
|
|
---
|
|
(program
|
|
(comment)
|
|
(comment)
|
|
(program (var_declaration (identifier) (object
|
|
(comment)
|
|
(comment)
|
|
(identifier) (function_expression
|
|
(formal_parameters (identifier) (comment))
|
|
(statement_block
|
|
(comment)
|
|
(expression_statement (function_call (identifier)))))))))
|
|
|
|
==========================================
|
|
parses comments within expressions
|
|
==========================================
|
|
y // comment
|
|
* z;
|
|
---
|
|
(program
|
|
(expression_statement (math_op (expression (identifier) (comment)) (identifier))))
|