In documentation for lreduce and rreduce, supply second argument as an explicit list
[maxima.git] / share / translators / m2mj / mapleLexer.g4
blob72689227508848beb33ce5fa6bbc43cff3476974
1 /* François Thomasset -- INRIA Rocquencourt -- Octobre 2001 *)
3 (* Translation from Maple to MuPad : syntaxic specification of maple *)
5 (*
6 Copyright © 2001-2002 François Thomasset, all rights reserved.
7 All of Dan Stanger's changes are Copyright © 2021 Dan Stanger, all rights reserved.
8 Copying is covered by the GNU General Public License (GPL).
9  
10 This program is free software; you can redistribute it and/or modify
11 it under the terms of the GNU General Public License as published by
12 the Free Software Foundation; either version 2 of the License, or
13 (at your option) any later version.
15 This program is distributed in the hope that it will be useful,
16 but WITHOUT ANY WARRANTY; without even the implied warranty of
17 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 GNU General Public License for more details. */
20 lexer grammar mapleLexer ;
21 COMMENT         :       '#' ~[\b]* ;
22 BACKSPACE       :       [\b] {setText(";"); setType(SEMICOLON); };
23 WS              :       [ \t\r\n]+ -> skip ;
24 SEMICOLON       :       ';' ;
25 ASSIGN          :       ':=' ;
26 DOUBLE_COLON    :       '::' ;
27 COLON           :       ':' ;
28 PLUS            :       '+' ;
29 SUBTRACT        :       '-' ;
30 MULT            :       '*' ;
31 EXP             :       '**' ;
32 SLASH           :       '/' ;
33 CARET           :       '^' ;
34 EXCLAM          :       '!' ;
35 EQ              :       '=' ;
36 LT              :       '<' ;
37 GT              :       '>' ;
38 LE              :       '<=' ;
39 GE              :       '>=' ;
40 NE              :       '<>' ;
41 NOT             :       'not' ;
42 AND             :       'and' ;
43 OR              :       'or' ;
44 ARROW           :       '->' ;
45 AT              :       '@' ;
46 REPEAT_COMPOSE  :       '@@' ;
47 AMPMUL          :       '&*' ;
48 //              :    ;'&' [ ^' ' '\t' '\r' '\n' '*' '&' '(' ')' '[' ']' '{' '}' ';' ':' '\'' '`' '#' ]+
49 //              :    ;{ AMPOP ( String.sub (lexeme lexbuf) 1 ( String.length (lexeme lexbuf) - 1 ) ) }
50 SEQ             :       '$' ;
51 ELLIPSE         :       '..' ;
52 DOT             :       '.' ;
53 COMMA           :       ',' ;
54 LPAREN          :       '(' ;
55 RPAREN          :       ')' ;
56 LBRACK          :       '[' ;
57 RBRACK          :       ']' ;
58 LBRACE          :       '{' ;
59 RBRACE          :       '}' ;
60 BAR             :       '|' ;
61 UNDERSCORE      :       '_' ;
62 PERCENT         :       '%' ;
63 BACKSLASH       :       '\\' ;
64 QUESTIONMARK    :       '?' ;
65 SEQK            :       'seq' ;
66 BY              :       'by' ;
67 DO              :       'do' ;
68 DONE            :       'done' ;
69 ELIF            :       'elif' ;
70 ELSE            :       'else' ;
71 END             :       'end' ;
72 FI              :       'fi' ;
73 FOR             :       'for' ;
74 FROM            :       'from' ;
75 IF              :       'if' ;
76 IN              :       'in' ;
77 GLOBAL          :       'global' ;
78 LOCAL           :       'local' ;
79 OD              :       'od' ;
80 OPTION          :       'option' ;
81 PROC            :       'proc' ;
82 QUIT            :       'quit' ;
83 READ            :       'read' ;
84 SAVE            :       'save' ;
85 STOP            :       'stop' ;
86 THEN            :       'then' ;
87 TO              :       'to' ;
88 WHILE           :       'while' ;
89 UNION           :       'union' ;
90 INTERSECT       :       'intersect' ;
91 MINUS           :       'minus' ;
92 MOD             :       'mod' ;
93 INT             :       [0-9]+ ;
94 ID              :       LETTER (LETTER | [0-9])* ;
95 fragment                LETTER : [a-zA-Z_] ;
96 DOUBLEQUOTE     :       '"' .*? '"' ;
97 BACKQUOTE       :       '`' .*? '`' ;
98 QUOTE           :       '\'' .*? '\'' ;