私はラケットでプログラミング言語を作成していますプログラミング言語を作成し、私はダニー・ユGuide Danny Yoo Raggのガイドを読んでいた、私は例えば、文法を定義ショーエラーは、私が現在raggを使用していラケット
#lang ragg
nested-word-list: WORD
| LEFT-PAREN nested-word-list* RIGHT-PAREN
は、私はその機能が、私はそれが何であるかを知らない構文オブジェクトを生成知っ
#lang racket
(require ragg/support)
(require "nested-word-list.rkt")
(define a-parsed-value
(parse (list (token 'LEFT-PAREN "(")
(token 'WORD "some")
(token 'LEFT-PAREN "[")
(token 'WORD "pig")
(token 'RIGHT-PAREN "]")
(token 'RIGHT-PAREN ")"))))
a-parsed-value
、トークンを渡すことによってfuncionの解析を使用しています。
私はこれらの
#lang racket
(require ragg/support)
(require "nested-word-list.rkt")
(define a-parsed-value
(parse (list (token 'WORD "some")
(token 'LEFT-PAREN "[")
(token 'WORD "pig")
(token 'RIGHT-PAREN "]")
(token 'RIGHT-PAREN ")"))))
a-parsed-value
のようないくつかのトークンの病人を渡すとそれは私が例えば、以前の場合のために、それはエラーを生成することができる方法を知りたいこの
Encountered parsing error near token 'LEFT-PAREN ("[") while parsing #f [line=#f, column=#f, offset=#f]
のようなエラーが発生します出力に「ERROR:MISSING BRACKET」と表示され、発生する可能性のあるすべてのエラーに対して表示されます。
注:たとえば、私は簡単な文法を使用していますが、実際には、私のオリジナルの文法は、Javaのような言語である
ようこそ。誰もそれに従っていないので、[dr.racket]タグを削除してください。 – Matsmath
彼は最初になることができます... –