diff options
Diffstat (limited to 'tool/lrama/lib/lrama/lexer/token/parameterizing.rb')
-rw-r--r-- | tool/lrama/lib/lrama/lexer/token/parameterizing.rb | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/tool/lrama/lib/lrama/lexer/token/parameterizing.rb b/tool/lrama/lib/lrama/lexer/token/parameterizing.rb index b5ce6fbde3..367c62e194 100644 --- a/tool/lrama/lib/lrama/lexer/token/parameterizing.rb +++ b/tool/lrama/lib/lrama/lexer/token/parameterizing.rb @@ -2,16 +2,31 @@ module Lrama class Lexer class Token class Parameterizing < Token + attr_accessor :args + + def initialize(s_value: nil, alias_name: nil, location: nil, args: []) + super s_value: s_value, alias_name: alias_name, location: location + @args = args + end + def option? - self.s_value == "?" + %w(option ?).include?(self.s_value) end def nonempty_list? - self.s_value == "+" + %w(nonempty_list +).include?(self.s_value) end def list? - self.s_value == "*" + %w(list *).include?(self.s_value) + end + + def separated_nonempty_list? + %w(separated_nonempty_list).include?(self.s_value) + end + + def separated_list? + %w(separated_list).include?(self.s_value) end end end |