summaryrefslogtreecommitdiff
path: root/src/parser.h
diff options
context:
space:
mode:
authorAdrian Thurston <thurston@colm.net>2018-03-09 22:00:13 -0500
committerAdrian Thurston <thurston@colm.net>2018-03-09 22:05:02 -0500
commit2efdd395cd3b1cee4ee6cb00ec31c4d3e06df64c (patch)
tree0f7f826cf910daceb607e617fb0164d359ea14d9 /src/parser.h
parent45c895e7cf7c1bde0aa5b4d863c3c6c088604c70 (diff)
downloadcolm-2efdd395cd3b1cee4ee6cb00ec31c4d3e06df64c.tar.gz
allow switching on production numbers
Added a form to case statements that accepts a production name instead of a pattern.
Diffstat (limited to 'src/parser.h')
-rw-r--r--src/parser.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/parser.h b/src/parser.h
index 3f066bd8..4adbb5d8 100644
--- a/src/parser.h
+++ b/src/parser.h
@@ -156,10 +156,12 @@ struct BaseParser
ConsItemList *list, TypeRef *typeRef, FieldInitVect *fieldInitVect );
LangExpr *match( const InputLoc &loc, LangVarRef *varRef,
PatternItemList *list );
+ LangExpr *prodCompare( const InputLoc &loc, LangVarRef *varRef, const String &prod );
LangStmt *varDef( ObjectField *objField,
LangExpr *expr, LangStmt::Type assignType );
LangStmt *exportStmt( ObjectField *objField, LangStmt::Type assignType, LangExpr *expr );
+
LangExpr *require( const InputLoc &loc, LangVarRef *varRef, PatternItemList *list );
void structVarDef( const InputLoc &loc, ObjectField *objField );
void structHead( const InputLoc &loc, Namespace *inNspace,