我試圖在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