summaryrefslogblamecommitdiffstats
path: root/src/front/__init__.py
blob: 3f7e5f84298b3480dae788c4d2703ba1706ea778 (plain) (tree)
1
2
3
4
5

                               
                                     

           



























                                          


                          
from front.lexer import Lexer
from front.parser import Parser
from front.symbols import SymbolTable

def main():
    source = '''fun fib[a]
	if a < 2
		@1
	@( fib[a-1] + fib[a-2] )
end

# main function
fun main[]
	sum = 0
	i = 0
	while (i < 10)
		sum = sum + fib[i = i + 1]
	end
	@sum
end'''

    symbols = SymbolTable()
    lex = Lexer(source, symbols)

    # testing
    while True:
        token = lex.scan()
        print token.__repr__()
        if not token:
            break
    
    # parse = Parser(lex)
    # parse.program()

if __name__ == "__main__":
    main()