grammatica-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Grammatica-users] Multiline String & repeated terms


From: Alex Jeannopoulos
Subject: Re: [Grammatica-users] Multiline String & repeated terms
Date: Sun, 26 Apr 2015 15:11:10 -0400

I solved my own issue, but I am still having a lingering issue, I am looking to support a multi line string similar to python. I have the following defined.

%tokens%
MULTILINE_STRING                                   = <<(""").*(""")>>
QUOTED_STRING                                      = <<"([^"]|"")*+">>

%productions%
TEXT              = QUOTED_STRING | MULTILINE_STRING;

It seems that all string even a multi line string with """ (3 quotes) gets matched as a QUOTED_STRING. Any ideas?


On Sun, Apr 26, 2015 at 2:45 AM, Alex Jeannopoulos <address@hidden> wrote:
I am working through 2 issues, that I would like some advise on. Attached is a grammar and protocol files. Within the message are highlights of the grammar.

1. I am attempting to have a repeated term "CODE_DEFINITION", I am getting the following error when the CODE term is repeated.

[29:1] unexpected token "CODE", expected <EOF>, on line 29 column: 1


2. In my regex for a MULTILINE string a double quoted value breaks the parsing. Any thoughts how I can better support a python like multi line string, without escaping quotes within the """ block?

Thanks in advance.

CODE_LANG = PAREN_OPEN IDENTIFIER_STRING PAREN_CLOSE;

CODE_DEFINITION = CODE CODE_LANG? TEXT;


EventDefinition = SERVER_TYPE
CODE_TYPE
EVENT_TYPE
IDENTIFIER_STRING DEC_NUMBER
VERSION_TAG?
PAYLOAD
PAYLOAD_DESCRIPTION_INFO
EVENT_DESCRIPTION_INFO
CATEGORY_INFO
ACTIVE_STATE?
CODE_DEFINITION*
;


MULTILINE_STRING                        = <<(^""")([^*]|\*+[^*/])*("""$)>>
QUOTED_STRING = <<"([^"]|"")*+">>
TEXT              = QUOTED_STRING | MULTILINE_STRING;





reply via email to

[Prev in Thread] Current Thread [Next in Thread]