Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(76)

Issue 6561053: Eliminate MARKUP_IDENTIFIER and MARKUPLIST_IDENTIFIER (Closed)

Can't Edit
Can't Publish+Mail
Start Review
Created:
11 years, 7 months ago by dak
Modified:
11 years, 7 months ago
Reviewers:
janek
CC:
lilypond-devel_gnu.org
Base URL:
http://git.savannah.gnu.org/gitweb/?p=lilypond.git/trunk/
Visibility:
Public.

Description

Eliminate MARKUP_IDENTIFIER and MARKUPLIST_IDENTIFIER Those and their LYRIC variants are no longer generated by the lexer. Instead, SCM_IDENTIFIER takes over their function. One advantage is that standard Scheme strings and lists of strings (including the empty list!) are no longer receiving special syntactic status when used as identifier. Another is that markups and markup lists can now also be produced and interpreted by define-scheme-function. The ultimate goal, of course, is to have try_special_identifiers return nothing except SCM_IDENTIFIER. If that is the case, $... ("immediate Scheme") does no longer need to get evaluated in the lexer and can be retitled into "active Scheme". That would get rid of the Scheme timing problems and make basically _everything_ doable by define-scheme-function. This issue is a two-patch issue with the first patch being named: parser.yy: remove "embedded_scm" as one production for "assignment" This saved a few lines in the grammar for the price of clarity.

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+94 lines, -44 lines) Patch
M lily/parser.yy View 18 chunks +94 lines, -44 lines 0 comments Download

Messages

Total messages: 5
janek
The description looks really nice, but unfortunately i think i don't grasp the consequences of ...
11 years, 7 months ago (2012-09-28 06:22:40 UTC) #1
dak
On 2012/09/28 06:22:40, janek wrote: > The description looks really nice, but unfortunately i think ...
11 years, 7 months ago (2012-09-29 13:10:09 UTC) #2
janek
On Sat, Sep 29, 2012 at 3:10 PM, <dak@gnu.org> wrote: > Embarrassingly, not really. The ...
11 years, 7 months ago (2012-09-29 13:37:28 UTC) #3
dak
On 2012/09/29 13:37:28, janek wrote: > On Sat, Sep 29, 2012 at 3:10 PM, <mailto:dak@gnu.org> ...
11 years, 7 months ago (2012-09-29 14:30:57 UTC) #4
janek
11 years, 7 months ago (2012-09-29 15:57:27 UTC) #5
On Sat, Sep 29, 2012 at 4:30 PM,  <dak@gnu.org> wrote:
> Actually, it is not really "simplifying" the grammar.  At the current
> point of time, the lexer has to make decisions about the type of
> identifiers (and functions) at a point of time where those decisions are
> actually premature.  As a result of those decisions, different tokens
> are generated for identifiers and functions.  I am moving towards
> generating only one kind of token.  The same kind of decisions as before
> still have to be made, and since the lexer no longer makes them, the
> decisions are instead taken in the actions of the parser.  The results
> of those decisions are only apparent in the parser rules when those
> decisions lead to "synthetic" tokens (similar to the previous "real"
> ones) being generated in the parser actions.

ok.  That's what i meant when i said "have things happen on higher
level" (i expect that it's not a technically correct statement, of
course :) )
thanks for explanations!
Janek
Sign in to reply to this message.

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b