*** empty log message ***
authorhanda <handa>
Wed, 30 Sep 2009 04:23:43 +0000 (04:23 +0000)
committerhanda <handa>
Wed, 30 Sep 2009 04:23:43 +0000 (04:23 +0000)
input.txt
xex.txt

index 3317850..5408c20 100644 (file)
--- a/input.txt
+++ b/input.txt
@@ -11,12 +11,12 @@ INPUT-METHOD =
   STATELIST ?
   '</input-method>'
 
-VARLIST = '<variable-list>' DEFVAR * '</variable-list>'
-CMDLIST = '<command-list>' COMMAND * '</command-list>'
-MODULELIST = '<module-list>' MODULE * '</module-list>'
-MACROLIST = '<macro-list>' DEFUN * '</macro-list>'
-MAPLIST = '<map-list>' MAP * '</map-list>'
-STATELIST = '<state-list>' STATE * '</state-list>'
+VARLIST = '<variable-list>' DEFVAR + '</variable-list>'
+CMDLIST = '<command-list>' COMMAND + '</command-list>'
+MODULELIST = '<module-list>' MODULE + '</module-list>'
+MACROLIST = '<macro-list>' DEFUN + '</macro-list>'
+MAPLIST = '<map-list>' MAP + '</map-list>'
+STATELIST = '<state-list>' STATE + '</state-list>'
 
 MODULE = '<module>' DEFUN-NAME + '</module>'
 DEFUN-NAME = '<defun fname="' FNAME '"/>'
@@ -27,15 +27,19 @@ COMMAND
     KEYSEQ *
     '</defcmd>'
 
-MAP = '<map id="' MAPNAME '">' RULE * '</map>'
+MAP = '<map mname="' MAPNAME '">' RULE * '</map>'
 
 RULE = '<rule>' [ KEYSEQ | CMDREF ] FUNCALL * '</rule>'
 
 CMDREF = '<command cname="' COMMANDNAME '"/>'
 
-STATE = '<state id="' STATENAME '">' BRANCH * '</state>'
+STATE = '<state sname="' STATENAME '">' HOOK BRANCH CATCHALL * '</state>'
 
-BRANCH = ...
+HOOK = '<state-hook>' FUNCALL + '</state-hook>'
+
+BRANCH = '<branch mname="' MAPNAME '">' FUNCALL * '</branch>'
+
+CATCHALL = '<catch-all-branch>' FUNCALL * '</catch-all-branch>'
 
 TERM += MIM-TERM
 PREDEFINED += MIM-PREDEFEIND
diff --git a/xex.txt b/xex.txt
index e304d96..d2805c1 100644 (file)
--- a/xex.txt
+++ b/xex.txt
@@ -117,9 +117,9 @@ MOD = '<mod>' INTTERM INTTERM '</mod>'
 LOGAND = '<logand> INTTERM + '</logand>'
          | '<logand vname="' VNAME '">' INTTERM + '</logand>'
 LOGIOR = '<logior> INTTERM + '</logior>'
-         | '<logior> vname="' VNAME '">' INTTERM + '</logior>'
+         | '<logior vname="' VNAME '">' INTTERM + '</logior>'
 LOGXOR = '<logxor> INTTERM + '</logxor>'
-         | '<logxor> vname="' VNAME '">' INTTERM + '</logxor>'
+         | '<logxor vname="' VNAME '">' INTTERM + '</logxor>'
 LSH = '<lsh>' INTTERM INTTERM '</lsh>'
       | '<lsh vname="' VNAME '">' INTTERM '</mul>'
 LT = '<lt>' INTTERM INTTERM '</lt>'
@@ -129,7 +129,9 @@ NOTEQ = '<noteq>' INTTERM INTTERM '</noteq>'
 GE = '<ge>' INTTERM INTTERM '</ge>'
 GT ='<gt>' INTTERM INTTERM '</gt>'
 APPEND = '<append>' ANYTERM + '</append>'
+         | '<append vname=" VNAME '">' ANYTERM + '</append>'
 CONCAT = '<concat>' [ INTTERM | STRTERM | LISTTERM ] + '</concat>'
+         | '<concat vname=" VNAME '">' [ INTTERM | STRTERM | LISTTERM ] + '</concat>'
 LENGTH = '<length>' [ STRTERM | LISTTERM ] '</length>'
 NTH = '<nth>' INTTERM [ STRTERM | LISTTERM ] '</nth>'
 COPY = '<copy>' LISTTERM '</nth>'