Move grammar parsing into new Grammar class
This commit is contained in:
1 parent
34eb1370ff
commit
57a3e9d9f6
6 files changed
+113
-51
No files matched your search
+24
-3
@@ -2,16 +2,37 @@ class Propane
|
||||
|
||||
class Rule
|
||||
|
||||
attr_reader :name
|
||||
|
||||
# @return [Array<Token, RuleSet>]
|
||||
# Rule components.
|
||||
attr_reader :components
|
||||
|
||||
# @return [String]
|
||||
# User code associated with the rule.
|
||||
attr_reader :code
|
||||
|
||||
def initialize(name, components, code)
|
||||
# @return [Integer]
|
||||
# Line number where the rule was defined in the input grammar.
|
||||
attr_reader :line_number
|
||||
|
||||
# @return [String]
|
||||
# Rule name.
|
||||
attr_reader :name
|
||||
|
||||
# Construct a Rule.
|
||||
#
|
||||
# @param name [String]
|
||||
# Rule name.
|
||||
# @param components [Array<String>]
|
||||
# Rule components.
|
||||
# @param code [String]
|
||||
# User code associated with the rule.
|
||||
# @param line_number [Integer]
|
||||
# Line number where the rule was defined in the input grammar.
|
||||
def initialize(name, components, code, line_number)
|
||||
@name = name
|
||||
@components = components
|
||||
@code = code
|
||||
@line_number = line_number
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
Reference in new issue
Block a user