Hãy xem xét phần này của ngữ pháp:Làm thế nào để thay đổi mã bằng cách sử dụng Comalaators Scala Parser để có quyền ưu tiên của nhà điều hành?
def expression = SimpleExpression ~ opt(relation ~ SimpleExpression)
def relation = "=" | "#" | "<=" | "<" | ">=" | ">" | "IN" | "IS"
def SimpleExpression = opt("+" | "-") ~ rep1sep (term, AddOperator)
def AddOperator = "+" | "-" | "OR"
def term = factor ~ rep(MulOperator ~ factor)
def MulOperator = "*" | "/" | "DIV" | "MOD" | "&"
def factor: Parser[Any] = number | "(" ~ expression ~ ")" | "~" ~ factor
Có cần phải viết lại các bộ phận của nó để tạo ra những quy định mới, hoặc là chỉ có một phương pháp (như |
vs |||
cho vs phù hợp quy tắc dài nhất đầu tiên) Tôi 'hiện đang thiếu mà điều cần thiết?
Vấn đề cụ thể của bạn là gì? – ziggystar