|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.ssv.utils.parser.Parser
com.ssv.test.airbase.contest.ContestParser
public class ContestParser
Класс, имплементирующий синтаксический разбор языка CT
com.ssv.test.airbase.contest.types
программа ::= оператор
оператор ::= оператор_присваивания |
вызов_функции |
оператор_if |
оператор_while |
оператор_for |
операторный_блок |
оператор_goto |
метка
оператор_присваивания ::= переменная '=' выражение
вызов_функции ::= имя '(' список_выражений ')'
оператор_if ::= 'if' '(' выражение ')' оператор [ 'else' оператор ]
оператор_while ::= 'while' '(' выражение ')' оператор
оператор_for ::= 'for' '(' [выражение] ';' [выражение] ';' [выражение] ')' оператор
операторный_блок ::= '{' [ выражение ( ';' выражение )] '}'
оператор_goto ::= 'goto' имя
метка ::= ':' имя ':'
Nested Class Summary |
---|
Nested classes/interfaces inherited from class com.ssv.utils.parser.Parser |
---|
Parser.ParserContext, Parser.Token |
Field Summary | |
---|---|
static int |
ASSIGN
Оператор присваивания, = |
static int |
COLON
Двоеточие, ':' |
static int |
COMMA
Символ запятой |
static int |
DIV
|
static int |
ELSE
Ключевое слово else |
static int |
EQ
Знак равенства, == |
static int |
FOR
Ключевое слово for |
static int |
GE
Оператор "больше или равно", >= |
static int |
GOTO
Ключевое слово goto |
static int |
GT
Знак больше, > |
static int |
IF
Ключевое слово if |
static int |
LAND
Оператор "логическое и", && |
static int |
LBLOCK
Левая операторная скобка, '{' |
static int |
LBR
Левая скобка, ( |
static int |
LE
Оператор "меньше или равно", <= |
static int |
LIBR
Левая квадратная скобка, '[' |
static int |
LNOT
Оператор "логическое НЕ", ! |
static int |
LOR
Оператор "логическое или", || |
static int |
LT
Знак меньше, < |
static int |
MINUS
Минус, - |
static int |
MUL
Знак умножения, * |
static int |
NEQ
Оператор "не равно", != |
static int |
PLUS
Плюс, + |
static int |
POWER
Оператор возведения в степень, ^ |
static int |
RBLOCK
Правая операторная скобка, '}' |
static int |
RBR
Правая скобка, ) |
static int |
RIBR
Правая квадратная скобка, ']' |
static int |
SEMICOLON
Точка с запятой, ';' |
static int |
WHILE
Ключевое слово while |
Fields inherited from class com.ssv.utils.parser.Parser |
---|
DOUBLENUMBER, DOUBLEQUOTEDSTRING, EOF, IDENTIFIER, NONNUMBER, NUMBER, SINGLEQUOTEDSTRING |
Constructor Summary | |
---|---|
ContestParser()
|
Method Summary | |
---|---|
Expression |
acceptLValue(boolean acceptFunctionInvocation)
|
static void |
main(java.lang.String[] args)
|
Expression |
parseExpression()
|
Methods inherited from class com.ssv.utils.parser.Parser |
---|
accept, accepted, ctoken, fetchContext, getDoubleNumber, getIdentifier, getNumber, getString, init, next, setCommentHandler, stoken, stokenshort, token |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final int LBR
public static final int RBR
public static final int PLUS
public static final int MINUS
public static final int DIV
public static final int MUL
public static final int EQ
public static final int GT
public static final int LT
public static final int ASSIGN
public static final int POWER
public static final int LBLOCK
public static final int RBLOCK
public static final int SEMICOLON
public static final int COLON
public static final int IF
public static final int WHILE
public static final int GOTO
public static final int COMMA
public static final int LIBR
public static final int RIBR
public static final int LAND
public static final int LOR
public static final int LNOT
public static final int ELSE
public static final int FOR
public static final int NEQ
public static final int GE
public static final int LE
Constructor Detail |
---|
public ContestParser() throws java.io.IOException, ParserException
java.io.IOException
ParserException
Method Detail |
---|
public Expression parseExpression() throws ParserException, java.io.IOException
ParserException
java.io.IOException
public Expression acceptLValue(boolean acceptFunctionInvocation) throws java.io.IOException, ParserException
java.io.IOException
ParserException
public static void main(java.lang.String[] args)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |