adds crystals parser code
This commit is contained in:
18
lib/parser/expression.rb
Normal file
18
lib/parser/expression.rb
Normal 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
|
Reference in New Issue
Block a user