aboutsummaryrefslogtreecommitdiffstats
path: root/tool/lrama/lib/lrama/lexer/token/parameterizing.rb
diff options
context:
space:
mode:
Diffstat (limited to 'tool/lrama/lib/lrama/lexer/token/parameterizing.rb')
-rw-r--r--tool/lrama/lib/lrama/lexer/token/parameterizing.rb21
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