aboutsummaryrefslogtreecommitdiff
path: root/thirdparty/jed/plurals.jison
diff options
context:
space:
mode:
Diffstat (limited to 'thirdparty/jed/plurals.jison')
-rw-r--r--thirdparty/jed/plurals.jison72
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) }; }
- ;