From ca832cb706d6a2d49d049b0ba827f606331269c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benedikt=20B=C3=B6hm?= Date: Tue, 19 May 2009 17:20:48 +0200 Subject: define interfaces --- src/front/parser.py | 96 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100644 src/front/parser.py (limited to 'src/front/parser.py') diff --git a/src/front/parser.py b/src/front/parser.py new file mode 100644 index 0000000..950a77c --- /dev/null +++ b/src/front/parser.py @@ -0,0 +1,96 @@ +class Parser: + lexer = None + + def __init__(self, lexer): + return + + def parse(self): + return self.program() + + def move(self): + return + + def error(self, msg): + return + + def match(tag): + return + + # bool = bool "||" join | join. + def bool(self): + return + + # join = join "&&" equality | equality. + def join(self): + return + + # equality = equality "==" relation | equality "!=" relation | relation. + def equality(self): + return + + # relation = expression "<" expression | expression "<=" expression | expression ">=" expression | expression ">" expression | expression. + def relation(self): + return + + # expression = expression "+" term | expression "-" term | term. + def expression(self): + return + + # term = term "*" unary | term "/" unary | unary. + def term(self): + return + + # unary = "!" unary | "-" unary | factor. + def unary(self): + return + + # factor = "(" bool ")" | ident | integer | "true" | "false". + def factor(self): + return + + # ident_list = ident { "," ident }. + def ident_list(self): + return + + # expression_list = expression { "," expression }. + def expression_list(self): + return + + # program = function { function }. + def program(self): + return + + # function = "fun" ident "[" [ ident_list ] "]" statements "end". + def function(self): + return + + # statements = statement { nl statement }. + def statements(self): + return + + # statement = [ if_statement | while_statement | assignment | function_call | return_statement ]. + def statement(self): + return + + # if_statement = "if" expression statements [ "else" statements ] "end". + def if_statement(self): + return + + # while_statement = "while" expression statements "end". + def while_statement(self): + return + + # assignment = ident "=" expression. + def assignment(self): + return + + # function_call = ident "[" [ expression_list ] "]". + def function_call(self): + return + + # return_statement = "@" expression. + def return_statement(self): + return + +class ParseTree: + -- cgit v1.2.3