From: handa Date: Sat, 12 Sep 2009 12:49:12 +0000 (+0000) Subject: *** empty log message *** X-Git-Url: http://git.chise.org/gitweb/?a=commitdiff_plain;h=b4d84e254382583a716e778edbc3884bf2d9c9bd;p=m17n%2Fm17n-lib-cs.git *** empty log message *** --- diff --git a/xex.txt b/xex.txt new file mode 100644 index 0000000..6092847 --- /dev/null +++ b/xex.txt @@ -0,0 +1,97 @@ +EXPR = + '' [ DEFUN | DEFMACRO | DEFVAR | TERM ] * '' + +TERM = [ VAR | DIRECT | FUNCALL ] + +TYPE = 'integer' | 'string' | 'boolean' | 'symbol' | 'list' + +DEFUN = + '' + ARGS ? + TERM * + '' + +DEFMACRO = + '' + ARGS ? + TERM * + '' + +ARGS = + '' SYMBOL * '' | '' + +DEFVAR = DEFVAR-INT DEFVAR-STR DEFVAR-BOOL + +DEFVAR-INT = + '' + DESCRIPTION ? + INT ? + [ INT | '' INT INT '' ] * + '' + +DEFVAR-STR = + '' + DESCRIPTION ? + STR ? + STR * + '' + +DEFVAR-BOOL = + '' + DESCRIPTION ? + BOOL ? + BOOL + '' + +DESCRIPTION = + '' TEXT '' + +VAR = + '' + +DIRECT = INT STR BOOL SYMBOL LIST + +INT = + '' INTEGER '' +STR = + '' STRING '' +BOOL = + '' [ 'true' | 'false' ] +SYMBOL = + '' NAME '' +LIST = + '' DIRECT * '' | + +FUNCALL = + '' TERM * '' + | '' TERM * '' + | '' TERM * '' + | '<' PREDEFINED-FUNC-SYMBOL '>' TERM * '' + | '<' PREDEFINED-MACRO-SYMBOL '>' TERM * '' + +PREDEFINED-FUNC-SYMBOL = + 'set' + | 'and' | 'or' | 'not' + | 'lt' | 'le' | 'eq' | 'ge' | 'gt' + | 'noteq' + | 'add' | 'sub' | 'mul' | 'div' | 'mod' + | 'add-set' | 'sub-set' | 'mul-set' | 'div-set' | 'mod-set' + | 'logand' | 'logior' | 'logxor' | 'lsh' + | 'logand-set' | 'logior-set' | 'logxor-set' | 'lsh-set' + | 'append' | 'concat' | 'substr' + | 'cons' | 'car' | 'cdr' | 'nth' + +PREDEFINED-FUNC-NAME = + PREDEFINED-FUNC-SYMBOL + | '=' + | '&&' | '||' | '!' + | '<' | '<=' | '==' | '>=' | '>' + | '!=' + | '+' | '-' | '*' | '/' | '%' + | '+=' | '-=' | '*=' | '/=' | '%=' + | '&=' | '|=' | '~=' | '<<=' | '>>=' + +PREDEFINED-MACRO-SYMBOL = + 'case' | 'cond' | 'if' | 'progn' | 'when' | 'while' + +PREDEFINED-MACRO-NAME = PREDEFINED-MACRO-SYMBOL