From d747859a85ee1d1140b0449fb741af04fae7785d Mon Sep 17 00:00:00 2001 From: Pawel Szostek Date: Fri, 28 Jan 2011 10:03:48 +0100 Subject: [PATCH] New compound VHDL symbols --- vhdlpp/lexor.lex | 13 +++++++++++++ vhdlpp/parse.y | 2 +- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/vhdlpp/lexor.lex b/vhdlpp/lexor.lex index d0d1d6b06..ba9d22c3b 100644 --- a/vhdlpp/lexor.lex +++ b/vhdlpp/lexor.lex @@ -73,6 +73,7 @@ W [ \t\b\f\r]+ \n { yylloc.first_line += 1; } "*/" { BEGIN(comment_enter); } + [a-zA-Z_][a-zA-Z0-9_]* { int rc = lexor_keyword_code(yytext, yyleng); switch (rc) { @@ -89,6 +90,18 @@ W [ \t\b\f\r]+ "<=" { return LEQ; } ">=" { return GEQ; } ":=" { return VASSIGN; } +"/=" { return NE; } +"<>" { return BOX; } +j + /* +"??" { return K_CC; } +"?=" {} +"?/=" {} +"?<" {} +"?<=" {} +"?>" {} +"?>=" {} +*/ . { return yytext[0]; } diff --git a/vhdlpp/parse.y b/vhdlpp/parse.y index 8524ff574..5b7f5322c 100644 --- a/vhdlpp/parse.y +++ b/vhdlpp/parse.y @@ -75,7 +75,7 @@ int parse_errors = 0; /* Identifiers that are not keywords are identifiers. */ %token IDENTIFIER /* compound symbols */ -%token LEQ GEQ VASSIGN +%token LEQ GEQ VASSIGN NE BOX EXP /* The rules may have types. */ %type interface_element