diff options
Diffstat (limited to 'thirdparty/jed/plurals.jison')
-rw-r--r-- | thirdparty/jed/plurals.jison | 72 |
1 files changed, 0 insertions, 72 deletions
diff --git a/thirdparty/jed/plurals.jison b/thirdparty/jed/plurals.jison deleted file mode 100644 index 9364f994e..000000000 --- a/thirdparty/jed/plurals.jison +++ /dev/null @@ -1,72 +0,0 @@ -/* description: Parses end executes mathematical expressions. */ - -/* lexical grammar */ -%lex -%% - -\s+ /* skip whitespace */ -[0-9]+("."[0-9]+)?\b return 'NUMBER' -"n" return 'n' -"||" return '||' -"&&" return '&&' -"?" return '?' -":" return ':' -"<=" return '<=' -">=" return '>=' -"<" return '<' -">" return '>' -"!=" return '!=' -"==" return '==' -"%" return '%' -"(" return '(' -")" return ')' -<<EOF>> return 'EOF' -. return 'INVALID' - -/lex - -/* operator associations and precedence */ - -%right <code> '?' ':' -%left '||' -%left '&&' -%left '<=' '>=' '<' '>' '!=' '==' -%left '%' - -%start expressions - -%% /* language grammar */ - -expressions - : e EOF - { return { type : 'GROUP', expr: $1 }; } - ; - -e - : e '?' e ':' e - {$$ = { type: 'TERNARY', expr: $1, truthy : $3, falsey: $5 }; } - | e '||' e - {$$ = { type: "OR", left: $1, right: $3 };} - | e '&&' e - {$$ = { type: "AND", left: $1, right: $3 };} - | e '<' e - {$$ = { type: 'LT', left: $1, right: $3 }; } - | e '<=' e - {$$ = { type: 'LTE', left: $1, right: $3 };} - | e '>' e - {$$ = { type: 'GT', left: $1, right: $3 };} - | e '>=' e - {$$ = { type: 'GTE', left: $1, right: $3 };} - | e '!=' e - {$$ = { type: 'NEQ', left: $1, right: $3 };} - | e '==' e - {$$ = { type: 'EQ', left: $1, right: $3 };} - | e '%' e - {$$ = { type: 'MOD', left: $1, right: $3 };} - | '(' e ')' - {$$ = { type: 'GROUP', expr: $2 }; } - | 'n' - {$$ = { type: 'VAR' }; } - | NUMBER - {$$ = { type: 'NUM', val: Number(yytext) }; } - ; |