keyword_table
いくつかの文字列をいくつかのトークンにマップする を定義したいと思います。また、このテーブルを と の両方parser.mly
で表示できるようにしたいと考えていますlexer.mll
。
でテーブルを定義する必要があるようですparser.mly
。
%{
open Utility (* where hash_table is defined to make a table from a list *)
let keyword_table = hash_table [
"Call", CALL; "Case", CASE; "Close", CLOSE; "Const", CONST;
"Declare", DECLARE; "DefBool", DEFBOOL; "DefByte", DEFBYTE ]
%}
lexer.mll
ただし、たとえば、では使用できませんでした
{
open Parser
let x = keyword_table (* doesn't work *)
let x = Parser.keyword_table (* doesn't work *)
let x = Parsing.keyword_table (* doesn't work *)
}
誰が問題がどこにあるのか教えてもらえますか? parser.mly
と の両方でデータを可視化することはできませんlexer.mll
か?