projects
/
sbp.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
8991d02
)
updates to fleet.g
author
adam
<adam@megacz.com>
Sun, 22 Jan 2006 08:05:52 +0000
(
03:05
-0500)
committer
adam
<adam@megacz.com>
Sun, 22 Jan 2006 08:05:52 +0000
(
03:05
-0500)
darcs-hash:
20060122080552
-5007d-
bfc4d9bbea8c6a1ccafe705e847ac8c40d3682ef
.gz
tests/fleet.g
patch
|
blob
|
history
diff --git
a/tests/fleet.g
b/tests/fleet.g
index
bf136c6
..
4d66b4d
100644
(file)
--- a/
tests/fleet.g
+++ b/
tests/fleet.g
@@
-1,16
+1,12
@@
-//
// The FLEET Assembly Language Grammar
// As specified in document 2005-ucies06
// The FLEET Assembly Language Grammar
// As specified in document 2005-ucies06
-//
// comments are included where the grammar had to go beyond the strict
// "letter of the law" in ies06
// comments are included where the grammar had to go beyond the strict
// "letter of the law" in ies06
-//
// Note that this is the *entire, complete* formal specification of
// the grammar. An equivalent lex+yacc grammar and support code would
// be several times as long.
// Note that this is the *entire, complete* formal specification of
// the grammar. An equivalent lex+yacc grammar and support code would
// be several times as long.
-//
Comment !::= "//" ~[\n]* "\n"
| "/*" ~[\n]* "*/"
Comment !::= "//" ~[\n]* "\n"
| "/*" ~[\n]* "*/"
@@
-19,12
+15,16
@@
ws ::= w**
w ::= [\r\n ]
| Comment
w ::= [\r\n ]
| Comment
+Program ::= Statement+ /ws
+
Statement ::= Move ";"? /ws
| "{" Statement* "}"
| Port "RENAMES" Port "ENDRENAME" ";" /ws
Statement ::= Move ";"? /ws
| "{" Statement* "}"
| Port "RENAMES" Port "ENDRENAME" ";" /ws
+// | "#define" Port Port /ws
-Move ::= Source ^"->" Destination /ws
- | Destination ^":=" Source /ws
+Move ::= Source ^"->" Destination /ws
+ | Source ^"=>" Destination /ws
+ | Destination ^":=" Source /ws
Destination ::= Port +/ (ws "," ws)
Source ::= Port
Destination ::= Port +/ (ws "," ws)
Source ::= Port
@@
-33,7
+33,7
@@
Source ::= Port
CodeBag ::= CodeBagName? "{" Statement* "}" ";"? /ws
// Note: this deviates from ies06
CodeBag ::= CodeBagName? "{" Statement* "}" ";"? /ws
// Note: this deviates from ies06
-location ::= shipname ("." portname)?
+Port ::= shipname ("." portname)*
shipname ::= name index?
portname ::= name index?
name ::= [A-Za-z] [A-Za-z0-9\[\]\.]*
shipname ::= name index?
portname ::= name index?
name ::= [A-Za-z] [A-Za-z0-9\[\]\.]*