Method: Minjs::Lex::Statement#semicolon
- Defined in:
- lib/minjs/lex/statement.rb
#semicolon(var_env) ⇒ Object
Tests next literal is ‘;’ or ‘}’ or LT
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/minjs/lex/statement.rb', line 8 def semicolon(var_env) a = peek_lit_nolt(nil) # ; ? if a == ECMA262::PUNC_SEMICOLON fwd_after_peek a # } ? elsif a == ECMA262::PUNC_RCURLYBRAC a # line feed? elsif a == ECMA262::LIT_LINE_TERMINATOR fwd_after_peek a # end of program elsif a.nil? fwd_after_peek ECMA262::LIT_LINE_TERMINATOR # line terminator? elsif a.lt? fwd_after_peek a else nil end end |