lilypond-devel
[Top][All Lists]
Advanced

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

Re: Patch series (available at branch dev/syntax) for more argument list


From: dak
Subject: Re: Patch series (available at branch dev/syntax) for more argument list power. (issue 5333051)
Date: Sat, 05 Nov 2011 06:15:49 +0000

Reviewers: J_lowe, Reinhold,

Message:
On 2011/11/04 23:43:04, Reinhold wrote:
On 2011/11/03 22:59:52, J_lowe wrote:
> Passes make and make check, No reg test diffs.

Is Patch Set 3 the final version, or are the three patch sets
independent
patches that need to be applied one after the other??? It seems that
the patch
set 3 does not contain many changes from the first two patch sets.

Patch set 3 is just fixing an operator priority problem that caused
regtest failures with patch set 2.  Patch set 2 is a large
reorg/addition on top of patch set 1.

Rietveld displays large deltas (without noticeable content) presumably
because I rebased the branch on the new master.

Description:
Patch series (available at branch dev/syntax) for more argument list
power.

Consists of the following patches in reverse order:

programming-interface.itely: Explain new optional argument semantics and
\default


parser.yy et al: make \mark a musicfunction.


parser.yy et al: make \time and \times musicfunctions.


Replace \key with music function


input/regression/optional-args-backup.ly: Test backing up of optional
argument parts.


Use the new fraction? predicate where appropriate.


Implement fraction? predicate checking for pair of unsigned integers


parser.yy: Allow numbers, fractions and \default as arguments.

Common parts of function_arglist and function_arglist_closed are
also factored out in order to avoid premature parser decisions.

In closed music expressions (mostly in the context of optional
arguments), numbers with units (3\cm) and "wide" fractions (3 / 4) are
not recognized, but if the respective number is backed up because of
a false predicate, they can still be used in that manner in a
mandatory argument.

As a consequence of moving most of the optional argument checking into
predicates, the operator priority system could be vastly simplified.

\default can be used to force the rest of an optional argument block
to get skipped.  It is the only way to skip optional arguments if they
are not followed by a mandatory argument, since otherwise a skipped
value could not be interpreted anywhere else in the argument list.

parser.yy et al: make UNSIGNED a Scheme value token


Move priority of \addlyrics and composite music below function
arguments.

Needed in order to make closed_music a subset of music recognizable
without lookahead.

Please review this at http://codereview.appspot.com/5333051/

Affected files:
  M Documentation/extending/programming-interface.itely
  M input/regression/optional-args-backup.ly
  M lily/parser.yy
  M scm/ly-syntax-constructors.scm





reply via email to

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