adds crystals parser code

This commit is contained in:
Torsten Ruger
2014-06-04 19:55:04 +03:00
parent e36fa0eb5d
commit ea19554b44
13 changed files with 436 additions and 0 deletions

18
lib/parser/expression.rb Normal file
View File

@ -0,0 +1,18 @@
module Parser
module Expression
include Parslet
rule(:value_expression) { call_site | basic_type }
rule(:expression) { (simple_return | while_do | conditional | operator_expression | call_site ) >> newline }
def delimited_expressions( delimit )
( (delimit.absent? >> expression).repeat(1)).as(:expressions) >> delimit
end
rule(:expressions_do) { delimited_expressions(keyword_do) }
rule(:expressions_else) { delimited_expressions(keyword_else) }
rule(:expressions_end) { delimited_expressions(keyword_end) }
end
end