sig/lrama/grammar/rule.rbs in lrama-0.6.9 vs sig/lrama/grammar/rule.rbs in lrama-0.6.10
- old
+ new
@@ -1,13 +1,45 @@
module Lrama
class Grammar
class Rule
+ attr_accessor id: Integer
+ attr_accessor _lhs: Lexer::Token
+ attr_accessor lhs: Grammar::Symbol
+ attr_accessor lhs_tag: Lexer::Token::Tag?
+ attr_accessor _rhs: Array[Lexer::Token]
+ attr_accessor rhs: Array[Grammar::Symbol]
+ attr_accessor token_code: Grammar::Code?
+ attr_accessor position_in_original_rule_rhs: Integer
+ attr_accessor nullable: bool
+ attr_accessor precedence_sym: Grammar::Symbol?
+ attr_accessor lineno: Integer?
attr_accessor original_rule: Rule
def initialize: (
- ?id: untyped, ?_lhs: untyped, ?lhs: untyped, ?lhs_tag: untyped, ?_rhs: untyped, ?rhs: untyped,
- ?token_code: untyped, ?position_in_original_rule_rhs: untyped, ?nullable: untyped,
- ?precedence_sym: untyped, ?lineno: untyped
+ ?id: Integer, ?_lhs: Lexer::Token, ?lhs: Lexer::Token, ?lhs_tag: Lexer::Token::Tag?, ?_rhs: Array[Lexer::Token], ?rhs: Array[Grammar::Symbol],
+ ?token_code: Lexer::Token::UserCode?, ?position_in_original_rule_rhs: Integer?, ?nullable: bool,
+ ?precedence_sym: Grammar::Symbol?, ?lineno: Integer?
) -> void
+
+ def display_name: () -> String
+
+ def as_comment: -> String
+
+ def empty_rule?: -> bool
+
+ def initial_rule?: -> bool
+
+ def precedence: -> Precedence?
+
+ def translated_code: -> String?
+
+ def with_actions: -> String
+
+ def contains_at_reference?: -> bool
+
+ interface _DelegatedMethods
+ def lhs: -> Grammar::Symbol
+ def rhs: -> Array[Grammar::Symbol]
+ end
end
end
end