我试图在OCaml中编写解释器,我在这里遇到问题。 在我的计划,我想打电话给这样的函数,例如: print (get_line 4) // print: print to stdout, get_line: get a specific line in a file
我怎么能这样做?问题出现在我们的解析器中,我认为是这样,因为它定义了程序将如何运行,函数是如何定义的以及程序的流程。这是我迄今为
我正在编写一个转到Python编译器的OCamllex和Menhir,但是我的词法分析器无法导入Core包。 这里是我的lex.mll文件: {
(* Header *)
open Core.Std
open Lexing
open Parser
exception SyntaxError of string
let next_li
我有下面的代码也有更多像expr:int {} |布尔{}等,但我不知道什么是我应该写在这种解析器的类型,我有一个计算器的例子,与int一起工作,类型是int,但在我的程序中我有浮动字符串等。 %{
dont know what to write here
%}
%token <int> INT
%token <float> FLOAT
%token <char> CHAR
%to
在Chapter 12 Lexer and parser generators,我无法编译下面的例子: {
type token = EOL | INT of int | PLUS
module Make (M : sig
type 'a t
val return: 'a -> 'a t
val bind: 'a t -> ('a -> 'b