lilypond-devel
[Top][All Lists]
Advanced

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

operators, datatypes, keywords


From: Mark Polesky
Subject: operators, datatypes, keywords
Date: Fri, 14 Aug 2009 09:35:22 -0700 (PDT)

I'm trying to get a better understanding of LilyPond the
"programming language". Can someone look this over? Am I on the
right track? As an example of some of the confusion I'm having,
it seems to me that there are 3 categories of datatypes. That
seems wrong, but I don't know how to resolve it. Can anyone
suggest better terminology or clarify any misconceptions that I
seem to have based on this?

Thanks!
- Mark

Operators:
----------
* the first line is indexed with double-quotes in the grammar
  appendix, and the second line with single-quotes. Does this
  imply any categorical difference?

* is "operator" the right term for this category?

- -- / /+ : < << > >> \! \ \( \) \+ \< \> \[ \]
! ' ( ) * + , - . / : = ? [ ] ^ _ { | } ~


Datatypes(1):
-------------
(datatypes whose type-check predicates are defined in C++)

* using the method discussed here:
  http://lists.gnu.org/archive/html/lilypond-devel/2009-06/msg00631.html

box context dimension dir dispatcher duration font-metric grob
grob-array input-location item iterator lily-lexer lily-parser
listener moment music music-function music-list music-output
otf-font output-def page-marker pango-font paper-book paper-system
pitch prob score simple-closure skyline skyline-pair source-file
spanner stencil stream-event translator translator-group


Datatypes(2):
-------------
(datatypes whose type-check predicates are defined in scheme)

* I don't know how to determine if there are others in this
  category. Is there a way?

markup markup-list


Datatypes(3):
-------------
(datatypes derived from the grammar appendix)

* these are clearly of a different sort than the previous two.
  Can someone explain?

* why is "error" uncapitalized? should it be ALL-CAPS, or does it
  not belong in this category?

BOOK_IDENTIFIER
CHORD_MODIFIER
CHORDMODIFIER_PITCH
CHORDMODIFIERS
CONTEXT_DEF_IDENTIFIER
DIGIT
DRUM_PITCH
DURATION_IDENTIFIER
E_UNSIGNED
error
EVENT_IDENTIFIER
EXPECT_MARKUP
EXPECT_MUSIC
EXPECT_NO_MORE_ARGS
EXPECT_SCM
FIGURE_CLOSE
FIGURE_OPEN
FRACTION
LYRIC_MARKUP
LYRIC_MARKUP_IDENTIFIER
LYRICS_STRING
MARKUP_HEAD_EMPTY
MARKUP_HEAD_LIST0
MARKUP_HEAD_MARKUP0
MARKUP_HEAD_MARKUP0_MARKUP1
MARKUP_HEAD_SCM0
MARKUP_HEAD_SCM0_MARKUP1
MARKUP_HEAD_SCM0_MARKUP1_MARKUP2
MARKUP_HEAD_SCM0_SCM1
MARKUP_HEAD_SCM0_SCM1_MARKUP2
MARKUP_HEAD_SCM0_SCM1_MARKUP2_MARKUP3
MARKUP_HEAD_SCM0_SCM1_SCM2
MARKUP_IDENTIFIER
MARKUP_LIST_HEAD_EMPTY
MARKUP_LIST_HEAD_LIST0
MARKUP_LIST_HEAD_SCM0
MARKUP_LIST_HEAD_SCM0_LIST1
MARKUP_LIST_HEAD_SCM0_SCM1_LIST2
MULTI_MEASURE_REST
MUSIC_FUNCTION
MUSIC_IDENTIFIER
NOTENAME_PITCH
NUMBER_IDENTIFIER
OUTPUT_DEF_IDENTIFIER
PREC_BOT
PREC_TOP
REAL
RESTNAME
SCM_IDENTIFIER
SCM_TOKEN
SCORE_IDENTIFIER
STRING
STRING_IDENTIFIER
TONICNAME_PITCH
UNARY_MINUS
UNSIGNED


Keywords:
---------
* a list of the names of all the commands listed in the index of
  the grammar appendix should be equivalent to a list of all the
  LilyPond "keywords", I think. Let me know if this is wrong.

* is there a proper name for the associated command-set?
  I would call them "core commands"; is there a better term?

accepts addlyrics alias alternative book bookpart C[haracter]
change chordmode chords consists context default defaultchild
denies description drummode drums figuremode figures
grobdescriptions header invalid key layout lyricmode lyrics
lyricsto mark markup markuplines midi name new notemode objectid
octave once override paper partial relative remove repeat rest
revert score sequential set simultaneous skip tempo time times
transpose type unset with



      




reply via email to

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