Pārlūkot izejas kodu

Add while statements

pull/1/head
Max Brunsfeld pirms 11 gadiem
vecāks
revīzija
11ce0da541
2 mainītis faili ar 22 papildinājumiem un 0 dzēšanām
  1. +6
    -0
      grammar.coffee
  2. +16
    -0
      grammar_test/statements.txt

+ 6
- 0
grammar.coffee Parādīt failu

@ -72,6 +72,7 @@ module.exports = grammar
@return_statement, @return_statement,
@if_statement, @if_statement,
@for_statement, @for_statement,
@while_statement,
@expression_statement, @expression_statement,
@statement_block), @statement_block),
@ -99,6 +100,11 @@ module.exports = grammar
")", ")",
@statement) @statement)
while_statement: -> seq(
keyword("while"),
"(", @expression, ")",
@statement)
type: -> seq( type: -> seq(
optional(keyword("const")), optional(keyword("const")),
choice( choice(

+ 16
- 0
grammar_test/statements.txt Parādīt failu

@ -77,3 +77,19 @@ int main() {
(function_call (identifier)) (function_call (identifier))
(function_call (identifier)) (function_call (identifier))
(expression_statement (identifier))))) (expression_statement (identifier)))))
============================================
While loops
============================================
int main() {
while (x)
printf("hi");
}
---
(function_declaration (identifier) (identifier) (formal_parameters)
(statement_block
(while_statement (identifier)
(expression_statement (function_call (identifier) (string))))))

Notiek ielāde…
Atcelt
Saglabāt