5.0 以降、ゴールド パーサーは、終了ターミナルを共有する複数のグループを処理する方法を変更しました。これにより、使用している定義が機能しなくなります (文法を構築するために Rem 部分を削除したと思いますか?)
5.0 以降、2 つの主な変更点があります。
定義されているこの改行が使用されるため、改行が必要な場合、改行が自動的に宣言されます。(コメントなど)。
コメント + X は自動的に「ノイズ」として分類され、解析時に削除されます。コメントがノイズとして定義されるのを避けるために、パーサー ロジックに不可欠なものであることを具体的に伝える必要があります。
また、使用していたコードはコメントの開始のみを見つけましたが、何もしませんでした。' 記号が見つかった後に何かを「キャプチャ」するには、探しているものを宣言する必要があります。次の行に沿って何かを行うことでこれを実現できます。
! Special Whitespace definition ( All Whitespace's excluding new-lines )
{WS} = {Whitespace} - {CR} - {LF}
! Special Comment Line definition ( All words,special White-spaces and defined symbols until a Line Break is found )
Comment Line = ''({Alphanumeric} | {WS} | [.,-+="] )*{All Newline}
Rem Line = rem
Comment Line @= {type= Content}
Rem @= {type = Content }
これにより、両方が 2 つの行ベースのグループ (コメント行とレム行) として宣言され、両方がコンテンツ タイプとして定義され、デフォルトのノイズではなくコンテンツとして扱われます。(したがって、パーサーによって削除されるべきではありません)。
さらに読むために、これが役に立てば幸いです:
http://goldparser.org/doc/grammars/define-groups.htm
http://goldparser.org/doc/grammars/group-attributes.htm
http://goldparser.org/doc/grammars/example-group.htm