|
@@ -11,7 +11,7 @@
|
|
|
//! dimension_decl ::= "dimension" identifier ( "=" dimension_expr ) *
|
|
//! dimension_decl ::= "dimension" identifier ( "=" dimension_expr ) *
|
|
|
//! unit_decl ::= decorator * "unit" ( ":" dimension_expr ) ? ( "=" expression ) ?
|
|
//! unit_decl ::= decorator * "unit" ( ":" dimension_expr ) ? ( "=" expression ) ?
|
|
|
//! module_import ::= "use" ident ( "::" ident) *
|
|
//! module_import ::= "use" ident ( "::" ident) *
|
|
|
-//! procedure_call ::= ( "print" | "assert_eq" | "type" ) "(" arguments? ")"
|
|
|
|
|
|
|
+//! procedure_call ::= ( "print" | "assert" | "assert_eq" | "type" ) "(" arguments? ")"
|
|
|
//!
|
|
//!
|
|
|
//! decorator ::= "@" ( "metric_prefixes" | "binary_prefixes" | ( "aliases(" list_of_aliases ")" ) )
|
|
//! decorator ::= "@" ( "metric_prefixes" | "binary_prefixes" | ( "aliases(" list_of_aliases ")" ) )
|
|
|
//!
|
|
//!
|
|
@@ -207,6 +207,7 @@ type Result<T> = std::result::Result<T, ParseError>;
|
|
|
|
|
|
|
|
static PROCEDURES: &[TokenKind] = &[
|
|
static PROCEDURES: &[TokenKind] = &[
|
|
|
TokenKind::ProcedurePrint,
|
|
TokenKind::ProcedurePrint,
|
|
|
|
|
+ TokenKind::ProcedureAssert,
|
|
|
TokenKind::ProcedureAssertEq,
|
|
TokenKind::ProcedureAssertEq,
|
|
|
TokenKind::ProcedureType,
|
|
TokenKind::ProcedureType,
|
|
|
];
|
|
];
|
|
@@ -632,6 +633,7 @@ impl<'a> Parser<'a> {
|
|
|
let span = self.last().unwrap().span;
|
|
let span = self.last().unwrap().span;
|
|
|
let procedure_kind = match self.last().unwrap().kind {
|
|
let procedure_kind = match self.last().unwrap().kind {
|
|
|
TokenKind::ProcedurePrint => ProcedureKind::Print,
|
|
TokenKind::ProcedurePrint => ProcedureKind::Print,
|
|
|
|
|
+ TokenKind::ProcedureAssert => ProcedureKind::Assert,
|
|
|
TokenKind::ProcedureAssertEq => ProcedureKind::AssertEq,
|
|
TokenKind::ProcedureAssertEq => ProcedureKind::AssertEq,
|
|
|
TokenKind::ProcedureType => ProcedureKind::Type,
|
|
TokenKind::ProcedureType => ProcedureKind::Type,
|
|
|
_ => unreachable!(),
|
|
_ => unreachable!(),
|