Я пишу компилятор мини-паскаля в Ocaml.Я хотел бы, чтобы мой компилятор принял следующий код, например:
program test;
var
a,b : boolean;
n : integer;
begin
...
end.
У меня трудности с объявлением переменных (часть, следующая за var
).На данный момент тип переменных определяется следующим образом: sib_syntax.ml :
type s_var =
{ s_var_name: string;
s_var_type: s_type; }
Здесь sib_parser.mly .У меня вопрос, где и как я мог сказать компилятору построить globals
, объявление переменных, которое на самом деле представляет собой список s_var
.Думаю, мне нужно уточнить часть менгира в конце sib_parser.mly
(terminated_bindings
, binding
, separated_nonempty_list
и т. Д.), Но я не знаю, как ...
Можеткто-нибудь поможет?Большое спасибо!