From a506a1897034016832c628411df88b06e81bc561 Mon Sep 17 00:00:00 2001 From: Stephen Williams Date: Sun, 11 May 2008 12:13:58 -0700 Subject: [PATCH] Nature and discipline declarations syntax The VAMS-2.3 specification says that discipline and nature declarations have a semi-colon after the identifier, but the disciplines.vams in the appendix does not. Initial guess what that the disciplines.vams is correct, but I've been told that the syntax is correct and the disciplines.vams file is not. --- disciplines.vams | 18 +++++++++--------- parse.y | 6 ++++-- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/disciplines.vams b/disciplines.vams index f934a6e5a..12ac0c74c 100644 --- a/disciplines.vams +++ b/disciplines.vams @@ -4,15 +4,15 @@ `else `define DISCIPLINES_VAMS 1 -discipline \logic +discipline \logic ; domain discrete; enddiscipline -discipline ddiscrete +discipline ddiscrete; domain discrete; enddiscipline -nature Current +nature Current; units = "A"; access = I; idt_nature = Charge; @@ -23,7 +23,7 @@ nature Current `endif endnature -nature Charge +nature Charge; units = "coul"; access = Q; ddt_nature = Current; @@ -34,7 +34,7 @@ nature Charge `endif endnature -nature Voltage +nature Voltage; units = "V"; access = V; idt_nature = Flux; @@ -45,7 +45,7 @@ nature Voltage `endif endnature -nature Flux +nature Flux; units = "Wb"; access = Phi; ddt_nature = Voltage; @@ -56,16 +56,16 @@ nature Flux `endif endnature -discipline electrical +discipline electrical; potential Voltage; flow Current; enddiscipline -discipline voltage +discipline voltage; potential Voltage; enddiscipline -discipline current +discipline current; flow Current; enddiscipline diff --git a/parse.y b/parse.y index 4d91bf448..db9428cdd 100644 --- a/parse.y +++ b/parse.y @@ -673,7 +673,7 @@ description ; discipline_declaration - : K_discipline IDENTIFIER + : K_discipline IDENTIFIER ';' { pform_start_discipline($2); } discipline_items K_enddiscipline { pform_end_discipline(@1); delete[] $2; } @@ -694,7 +694,9 @@ discipline_item ; nature_declaration - : K_nature IDENTIFIER nature_items K_endnature + : K_nature IDENTIFIER ';' + nature_items + K_endnature { delete[] $2; } ;