diff --git a/spec/btl.ast b/spec/btl.ast index a02902aae22ea0b582afb7f05a3fb30e655f61b2..ec8d8414c5ad619a462f5c3ee2086a6d252d9f4f 100644 --- a/spec/btl.ast +++ b/spec/btl.ast @@ -55,6 +55,7 @@ ListName : Declaration ; Material : Declaration; OrderNumber : Declaration; BTLPackage : Declaration; +ProcessIdent : Declaration; ProcessingQuality : Declaration; ProcessKey : Declaration ; ProcessParameters : Declaration ; diff --git a/spec/btl.flex b/spec/btl.flex index 7bf279bc00a664a2568da1a539b960a1eeaeb377..2d6d1e193009cdf3feb35e14bfc8a3ac3a453a5b 100644 --- a/spec/btl.flex +++ b/spec/btl.flex @@ -40,7 +40,7 @@ import beaver.Scanner; WhiteSpace = [ ] | \t | \f | \n | \r | \r\n Identifier = [:jletter:][:jletterdigit:]* -IntLiteral = "-"?[0-9][0-9]* + IntLiteral = "-"?[0-9][0-9,"-"]* %state YYINITIAL @@ -95,6 +95,7 @@ IntLiteral = "-"?[0-9][0-9]* "ORDERNUMBER" { return symbol(Terminals.ORDERNUMBER); } "PACKAGE" { return symbol(Terminals.PACKAGE); } "PART" { return symbol(Terminals.PART); } + "PROCESSIDENT" { return symbol(Terminals.PROCESSIDENT); } "PROCESSINGQUALITY" { return symbol(Terminals.PROCESSINGQUALITY); } "PROCESSKEY" { yybegin(SPECIAL);string.setLength(0);return symbol(Terminals.PROCESSKEY); } "PROCESSPARAMETERS" { yybegin(SPECIAL);string.setLength(0);return symbol(Terminals.PROCESSPARAMETERS); } diff --git a/spec/btl.parser b/spec/btl.parser index 50e05c3c4a2f56edc9d7bf521f617818159359ec..29f3c8696e29b4fe99e70915934c502208324685 100644 --- a/spec/btl.parser +++ b/spec/btl.parser @@ -51,6 +51,7 @@ Declaration declaration = | MATERIAL COLON value.v {: return new Material(v); :} | ORDERNUMBER COLON value.v {: return new OrderNumber(v); :} | PACKAGE COLON value.v {: return new BTLPackage(v); :} + | PROCESSIDENT COLON value.v {: return new ProcessIdent(v); :} | PROCESSINGQUALITY COLON value.v {: return new ProcessingQuality(v); :} | PROCESSKEY special_value.v {: return new ProcessKey(v); :} | PROCESSPARAMETERS special_value.v {: return new ProcessParameters(v); :}