diff --git a/examples/grammars/javascript.cc b/examples/grammars/javascript.cc index de762e8c..4882a539 100644 --- a/examples/grammars/javascript.cc +++ b/examples/grammars/javascript.cc @@ -34,6 +34,7 @@ namespace tree_sitter_examples { // Statements { "statement", choice({ + sym("comment"), sym("statement_block"), sym("if_statement"), sym("switch_statement"), @@ -176,6 +177,7 @@ namespace tree_sitter_examples { { "true", str("true") }, { "false", str("false") }, + { "comment", pattern("//[^\n]*") }, { "_terminator", pattern("[;\n]") }, { "string", pattern("\"([^\"]|\\\\\")+\"") }, { "identifier", pattern("\\a[\\w_$]*") }, diff --git a/spec/runtime/languages/javascript/main.txt b/spec/runtime/languages/javascript/main.txt index d7276014..13c66017 100644 --- a/spec/runtime/languages/javascript/main.txt +++ b/spec/runtime/languages/javascript/main.txt @@ -59,4 +59,13 @@ print(object[propertyName()]); (identifier) (property_access (identifier) (function_call (identifier)))))) - +========================================== +parses comments +========================================== +// this is another comment +stuff(); // this is a comment +--- +(program + (comment) + (expression_statement (function_call (identifier))) + (comment))