Artifact
b3e975617e28ffb10ddec14903f1fa186c924a4d :
File
modules/pt/tests/data/ok/peg_peg-fused/2_fun_arithmetic
— part of check-in
[6d971eaca0]
at
2010-03-26 05:07:24
on branch trunk
—
* New module, 'pt' for ParserTools. Requires Tcl 8.5. Supercedes
grammar_peg, grammar_me, and page.
(user:
andreas_kupries
size: 357)
0000: 50 45 47 20 61 5f 70 65 5f 67 72 61 6d 6d 61 72 PEG a_pe_grammar
0010: 20 28 45 78 70 72 65 73 73 69 6f 6e 29 0a 0a 20 (Expression)..
0020: 41 64 64 4f 70 20 20 20 20 20 20 3c 2d 20 5b 2d AddOp <- [-
0030: 2b 5d 20 3b 0a 20 44 69 67 69 74 20 20 20 20 20 +] ;. Digit
0040: 20 3c 2d 20 5b 30 31 32 33 34 35 36 37 38 39 5d <- [0123456789]
0050: 20 3b 0a 20 45 78 70 72 65 73 73 69 6f 6e 20 3c ;. Expression <
0060: 2d 20 46 75 6e 63 74 69 6f 6e 20 2f 20 27 28 27 - Function / '('
0070: 20 45 78 70 72 65 73 73 69 6f 6e 20 27 29 27 20 Expression ')'
0080: 2f 20 46 61 63 74 6f 72 20 28 4d 75 6c 4f 70 20 / Factor (MulOp
0090: 46 61 63 74 6f 72 29 2a 20 3b 0a 20 46 61 63 74 Factor)* ;. Fact
00a0: 6f 72 20 20 20 20 20 3c 2d 20 54 65 72 6d 20 28 or <- Term (
00b0: 41 64 64 4f 70 20 54 65 72 6d 29 2a 20 3b 0a 20 AddOp Term)* ;.
00c0: 46 75 6e 63 74 69 6f 6e 20 20 20 3c 2d 20 53 69 Function <- Si
00d0: 6e 75 73 20 3b 0a 20 4d 75 6c 4f 70 20 20 20 20 nus ;. MulOp
00e0: 20 20 3c 2d 20 5b 2a 2f 5d 20 3b 0a 20 4e 75 6d <- [*/] ;. Num
00f0: 62 65 72 20 20 20 20 20 3c 2d 20 53 69 67 6e 3f ber <- Sign?
0100: 20 44 69 67 69 74 2b 20 3b 0a 20 53 69 67 6e 20 Digit+ ;. Sign
0110: 20 20 20 20 20 20 3c 2d 20 5b 2d 2b 5d 20 3b 0a <- [-+] ;.
0120: 20 53 69 6e 75 73 20 20 20 20 20 20 3c 2d 20 27 Sinus <- '
0130: 73 69 6e 28 27 20 45 78 70 72 65 73 73 69 6f 6e sin(' Expression
0140: 20 27 29 27 20 3b 0a 20 54 65 72 6d 20 20 20 20 ')' ;. Term
0150: 20 20 20 3c 2d 20 4e 75 6d 62 65 72 20 3b 0a 0a <- Number ;..
0160: 45 4e 44 3b 0a END;.