-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathGrammar.rtf
More file actions
80 lines (79 loc) · 1.6 KB
/
Copy pathGrammar.rtf
File metadata and controls
80 lines (79 loc) · 1.6 KB
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
{\rtf1\ansi\ansicpg1252\cocoartf2709
\cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fnil\fcharset0 HelveticaNeue;}
{\colortbl;\red255\green255\blue255;}
{\*\expandedcolortbl;;}
\paperw11900\paperh16840\margl1440\margr1440\vieww11520\viewh8400\viewkind0
\deftab560
\pard\pardeftab560\slleading20\partightenfactor0
\f0\fs26 \cf0 S' -> S\
S -> BEGIN_BLOCK BEGIN_STMT\
\
BEGIN_BLOCK -> program id\
\
BEGIN_STMT -> begin STMTS end\
\
STMTS -> STMT STMTS\
STMTS -> ''\
\
STMT -> DECLARATION_LIST\
STMT -> IF_STMT\
STMT -> PRINT_STMT\
STMT -> WHILE_STMT\
STMT -> FOR_STMT\
STMT -> BREAK_STMT\
\
\
DECLARATION_LIST -> DECLARATION DECLARATION_LIST' ; \
\
DECLARATION_LIST' -> , DECLARATION DECLARATION_LIST'\
DECLARATION_LIST' -> ''\
\
DECLARATION -> TYPE ID_LIST\
DECLARATION -> ID_LIST\
\
TYPE -> int\
TYPE -> integer\
\
ASSIGNMENT -> = OP_STMT\
ASSIGNMENT -> ''\
\
ID_LIST -> id ASSIGNMENT ID_LIST'\
ID_LIST' -> ''\
\
OP_STMT -> TERM OP_STMT'\
\
OP_STMT' -> + TERM OP_STMT'\
OP_STMT' -> ++ \
OP_STMT' -> ''\
\
TERM -> FACTOR TERM'\
\
TERM' -> * FACTOR TERM'\
TERM' -> ''\
\
FACTOR -> number_literal\
FACTOR -> id\
\
PRINT_CONTENT -> string_literal\
PRINT_CONTENT -> id\
\
IF_STMT -> if ( COM_STMT ) BEGIN_STMT IF_STMT'\
\
IF_STMT' -> else_if ( COM_STMT ) BEGIN_STMT IF_STMT'\
IF_STMT' -> else BEGIN_STMT\
IF_STMT' -> ''\
\
PRINT_STMT -> print_line ( PRINT_CONTENT ) ;\
PRINT_STMT -> display ( PRINT_CONTENT ) ;\
\
WHILE_STMT -> while ( COM_STMT ) BEGIN_STMT\
\
FOR_STMT -> for ( DECLARATION ; COM_STMT ; OP_STMT ) BEGIN_STMT\
\
BREAK_STMT -> break ;\
\
COM_STMT -> TERM COM_STMT'\
\
COM_STMT' -> < FACTOR \
COM_STMT' -> == FACTOR\
COM_STMT' -> ''}