Browse Subversion Repository
Contents of /trunk/文法.txt
Parent Directory
| Revision Log
Revision 3 -
( show annotations)
( download)
Sat Mar 28 21:18:55 2015 UTC
(9 years, 2 months ago)
by yamat0jp
File MIME type: text/plain
File size: 906 byte(s)
テストコード添付
| 1 |
Grammer = {Production, Program} |
| 2 |
Production = { Program -> M { M } |
| 3 |
M -> ident '{' Bb { Fn Bb } '}' |
| 4 |
Bb -> { S | A } |
| 5 |
B -> '{' Bb '}' |
| 6 |
Fn -> ( S | I | V ) ident '(' |
| 7 |
( @ | ( S | I ) ident { , ( S | I ) ident } ) ')' B |
| 8 |
A -> ( aI | aS ) ident '[' number ( @ | ! number ) ']' |
| 9 |
{ , ident '[' number ( @ | ! number ) ']' } ; |
| 10 |
S -> B |
| 11 |
S -> ( print E { , E } | println ( @ | E { , E } ) ) ; |
| 12 |
S -> if '(' E ')' S ( @ | else S ) |
| 13 |
S -> for '(' E ; E ; E ')' S |
| 14 |
S -> while '(' E ')' S |
| 15 |
S -> do S while '(' E ')' ; |
| 16 |
S -> return ( @ | E ) ; |
| 17 |
S -> break ; |
| 18 |
S -> E ; |
| 19 |
S -> E1 ( @ | = E ) |
| 20 |
E1 -> E2 ( @ | ( == | != | < | > | <= | >= ) E2 ) |
| 21 |
E2 -> T { ( + | - ) T } |
| 22 |
T -> F { ( * | / ) F ( @ | ! F ) } |
| 23 |
F -> number |
| 24 |
F -> mojiretu |
| 25 |
F -> '(' E ')' |
| 26 |
F -> ( + | - ) F |
| 27 |
F -> ( @ | ident . ) ident '(' { E { , E } } ')' |
| 28 |
F -> Sa ( @ | ++ | -- ) |
| 29 |
Sa - > ident |
| 30 |
Sa -> ident '[' E ( @ | ! E ) ']' |
| 31 |
} |
|