File: grammar-jsccdebug.txt

package info (click to toggle)
jsxgraph 1.11.1%2Bdfsg1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 24,984 kB
  • sloc: javascript: 81,688; xml: 5,869; java: 1,072; php: 281; makefile: 189; python: 174; cpp: 76; sh: 12
file content (72 lines) | stat: -rw-r--r-- 2,363 bytes parent folder | download | duplicates (8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
/~ --- Token definitions --- ~/

/~ Characters to be ignored ~/
!   ' |\t' ;

/~ Non-associative tokens ~/
    '\('
    '\)'
    '[0-9]+'                        INT
    '[0-9]+\.[0-9]*|[0-9]*\.[0-9]+' FLOAT
    '\_\_[a-zA-Z0-9]+'              PARAM
    '[a-zA-Z]+(\_*[a-zA-Z0-9]+)*'   VAR
    '\&[a-zA-Z]+\;'                 HTML
    '\"[a-zA-Z0-9äüöß\=\.\ ]*\"'    STRING
    ;

/~ Left-associative tokens, from lowest to highest precedence ~/
<  '\+'
   '\-';

<  '\*'
   '/';

<  '^';

<  '\,';

<  '<='
   '>='
   '=='
   '!='
   '<'
   '>';

<  '!';

<  '\|\|'
   '\&\&';

##

/~ --- Grammar specification --- ~/

p:      e                          [* alert('Ende: : '+ %1); *]
        ;

e:        '(' e ',' e ')'          [* %% = ('coord: '+ %2+', '+ %4); *]
        | e '<=' e                 [* %% = ('le: '+ %1+', '+ %3); *]
        | e '>=' e                 [* %% = ('ge: '+ %1+', '+ %3); *]
        | e '==' e                 [* %% = ('eq: '+ %1+', '+ %3); *]
        | e '!=' e                 [* %% = ('neq: '+ %1+', '+ %3); *]
        | e '<' e                  [* %% = ('lt: '+ %1+', '+ %3); *]
        | e '>' e                  [* %% = ('gt: '+ %1+', '+ %3); *]
        | e '+' e                  [* %% = ('add: '+ %1+', '+ %3); *]
        | e '-' e                  [* %% = ('sub: '+ %1+', '+ %3); *]
		| '!' e                    [* %% = ('neg: '+ %2); *]
		| e '^' e                  [* %% = ('pow: '+ %1+', '+ %3); *]
		| e '||' e                 [* %% = ('or: '+ %1+', '+ %3); *]
		| e '&&' e                 [* %% = ('and: '+ %1+', '+ %3); *]
        | e '*' e                  [* %% = ('mul: '+ %1+', '+ %3); *]
        | e '/' e                  [* %% = ('div: '+ %1+', '+ %3); *]
        | '-' e &'*'               [* %% = ('negmult: '+ %2); *]
        | '(' e ')'                [* %% = ('bra: '+ %2); *]
        | STRING '+' e             [* %% = ('string: '+ %1+', '+ %3); *]
        | INT                      [* %% = ('int: '+ %1); *]
        | FLOAT                    [* %% = ('float: '+ %1); *]
        | PARAM                    [* %% = ('param: '+ %1); *]
        | HTML                     [* %% = ('html: '+ %1); *]
        | STRING                   [* %% = ('string: '+ %1); *]
        | VAR '(' e ')'            [* %% = ('var: '+ %1+', '+ %3); *]
        | VAR                      [* %% = ('var: '+ %1); *]
        ;