Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

May POSTPONE cause arbitrary parsing? #8

Open
ruv opened this issue Jun 11, 2020 · 1 comment
Open

May POSTPONE cause arbitrary parsing? #8

ruv opened this issue Jun 11, 2020 · 1 comment

Comments

@ruv
Copy link
Collaborator

ruv commented Jun 11, 2020

The compilation semantics for POSTPONE, an excerpt:

Skip leading space delimiters. Parse name delimited by a space. Find name. Append the compilation semantics of name to the current definition.

If the Recognizers word set is provided, it can be something like the following:

  • Skip leading space delimiters. Parse lexeme delimited by a space. Recognize lexeme. Append the compilation semantics of lexeme to the current definition.

If a recognizer does additional parsing, it changes the lexeme, i.e., the produced token will determine compilation semantics for the different lexeme.

So, there is no a place for additional parsing. And it should be forbidden for a recognizer to do additional parsing.

@ruv ruv changed the title May POSTPONE causes arbitrary parsing May POSTPONE cause arbitrary parsing Jun 11, 2020
@ruv ruv changed the title May POSTPONE cause arbitrary parsing May POSTPONE cause arbitrary parsing? Jun 12, 2020
@ruv
Copy link
Collaborator Author

ruv commented Aug 27, 2020

Anton's response[2] to above resoning[1] was:

Your "recognize lexeme" invokes the string recognizer, which parses ' bar"'

I.e., that "to recognize" means invoking a recognizer, and it doesn't matter what the recognizer does, since it may do anything in terms of side effects (including additional parsing).

It looks like circular reasoning in terminology:

  • a. "To recognize" is to perform a recognizer.
  • b. A "recognizer" is a definition that is performed to recognize.

My objection[3] was that Anton used the terms (that I defined) in another meaning to confute my reasoning. It's incorrect.

You have to either use my terms, or define your terms and show that your model is better.

[1] news:[email protected]
[2] news:[email protected]
[3] news:[email protected]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant