blob: d2090f865984f914f9dfd7ccdd502271e864e218 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
A [a-zA-Z\200-\377]
AA {A}|_
N [0-9]
AN {AA}|{N}
ANY_CHAR (.|\n)
PUNCT [?!:'`]
ACCENT \\[`'"^]
NATIONAL [\001-\006\021-\027\031\036]
TEX {AA}|-|{PUNCT}|{ACCENT}|{NATIONAL}
WORD {A}{AN}*
DASHED_WORD {A}({AN}|-)*
DASHED_KEY_WORD \\{DASHED_WORD}
ALPHAWORD {A}+
DIGIT {N}
UNSIGNED {N}+
E_UNSIGNED \\{N}+
FRACTION {N}+\/{N}+
INT -?{UNSIGNED}
REAL ({INT}\.{N}*)|(-?\.{N}+)
KEYWORD \\{WORD}
NEWLINE [^.] ; windows and linux/unix
WHITE [ ] ;space and tab!
HORIZONTALWHITE [ ]
BLACK [^ \n\t\f\r] ;TODO: needs fix
RESTNAME [rs]
NOTECOMMAND \\{A}+
MARKUPCOMMAND \\({A}|[-_])+
LYRICS ({AA}|{TEX})[^0-9 \t\n\r\f]*
ESCAPED [nt\\'"]
EXTENDER __
HYPHEN --
BOM_UTF8 \357\273\277
%%
[^}{]+
(lyimport::block-append yytext) (lyimport::multilexer)
"{" (set! lyimport::brace_count (+ lyimport::brace_count 1))
(lyimport::block-append yytext) (lyimport::multilexer)
"}" (set! lyimport::brace_count (- lyimport::brace_count 1))
(if (zero? lyimport::brace_count)
(begin
(lyimport::pop_state)
(lyimport::mtoken 'BLOCK lyimport::block_string))
(begin
(lyimport::block-append yytext)
(lyimport::multilexer)))
.
(lyimport::quote-append yytext) (lyimport::multilexer)
<<ERROR>> (lyimport::mtoken 'ERROR yytext)
<<EOF>> (make-lexical-token '*eoi* #f #f)
|