0
我正在爲Excel公式編寫詞法分析器和分析器。詞法分析器中的優先順序
在Excel中,我們可以爲單元格指定一個名稱。例如,abc
是有效的名稱,但是,禁止命名單元格B2
以避免與單元格 B2
混淆。因此,一旦我們遇到公式=B2
,我們確信B2
引用的是單元而不是用戶定義的名稱。
在我lexer_formula.mll
,我已經定義的標識符:
let lex_cell = ['A' - 'Z']+ ['0' - '9']+ (* regular expressions to include all the cells *)
let lex_name = ['A' - 'Z' '0' - '9']+ (* regular expressions to include all the names *)
但像B2
與之相匹配的字符串都lex_cell
和lex_name
,沒有人知道我怎麼能告訴詞法分析器首先要考慮的lex_cell
,然後lex_name
?將lex_cell
放在lex_name
之前是否足以將rule token = parse
?
你實際上使用ocamllex嗎?你有很多標籤,但你永遠不會說你正在使用哪種掃描儀發生器。 – rici
是的,我正在使用'ocamllex'。 – SoftTimur