blob: 43af61072dd0e86039cbd05f77c72732e5c486e3 [file] [log] [blame]
%token value rhsval comment PROGRAMS LIBRARIES LTLIBRARIES LISP PYTHON JAVA SCRIPTS DATA HEADERS MASN TEXINFOS newline if else endif include
%%
input : stmts
;
stmts : stmt newline
| stmts stmt newline
;
stmt : automakerule
| makerule
| commentlist
| conditional
| includerule
;
automakerule : lhs '=' optionalrhs optionalcomments
| lhs '+' '=' optionalrhs optionalcomments
;
makerule : value ':' rhs
;
includerule : include value
;
conditional : ifblock optionalelse endif optionalcond
;
ifblock : if value newline stmts
;
optionalelse:
| else newline stmts
;
optionalcond:
| value
;
optionalrhs :
| rhs
;
optionalcomments :
| commentlist
;
lhs : optionlist primaries
| value
;
rhs : rhsval
| rhs rhsval
;
commentlist: comment
| commentlist comment
;
primaries : PROGRAMS
| LIBRARIES
| LTLIBRARIES
| LISP
| PYTHON
| JAVA
| SCRIPTS
| DATA
| HEADERS
| MASN
| TEXINFOS
| value
;
optionlist : value '_'
| optionlist value '_'
;
%%