We had been using version 3.2 from 2009, which does not have support for t_eof(). Change-Id: Id5610a272fe2cecd586991f4c59f3ec77184164e Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/56342 Reviewed-by: Jason Lowe-Power <power.jg@gmail.com> Reviewed-by: Bobby Bruce <bbruce@ucdavis.edu> Maintainer: Jason Lowe-Power <power.jg@gmail.com> Tested-by: kokoro <noreply+kokoro@google.com>
34 lines
616 B
Python
34 lines
616 B
Python
# -----------------------------------------------------------------------------
|
|
# yacc_simple.py
|
|
#
|
|
# A simple, properly specifier grammar
|
|
# -----------------------------------------------------------------------------
|
|
|
|
from .calclex import tokens
|
|
from ply import yacc
|
|
|
|
# Parsing rules
|
|
precedence = (
|
|
('left','PLUS','MINUS'),
|
|
('left','TIMES','DIVIDE'),
|
|
('right','UMINUS'),
|
|
)
|
|
|
|
# dictionary of names
|
|
names = { }
|
|
|
|
from .statement import *
|
|
|
|
from .expression import *
|
|
|
|
def p_error(t):
|
|
print("Syntax error at '%s'" % t.value)
|
|
|
|
import os.path
|
|
parser = yacc.yacc(outputdir=os.path.dirname(__file__))
|
|
|
|
|
|
|
|
|
|
|