5.16.2. Tokens

Start data section to src/flx_parse.mly[2 /35 ] Next Prev First Last
   107: /* special */
   108: %token<Flx_ast.srcref * string> ERRORTOKEN
   109: %token ENDMARKER
   110: 
   111: /* whitespace and comments */
   112: %token NEWLINE
   113: %token SLOSH
   114: %token<string> COMMENT
   115: %token<string> COMMENT_NEWLINE
   116: %token<int> WHITE
   117: 
   118: /* literals */
   119: %token<Flx_ast.srcref * string> NAME
   120: %token<Flx_ast.srcref * string * Flx_ast.bigint> INTEGER
   121: %token<Flx_ast.srcref * string * string > FLOAT
   122: %token<Flx_ast.srcref * string> STRING
   123: %token<Flx_ast.srcref * string> CSTRING
   124: %token<Flx_ast.srcref * string> FSTRING
   125: %token<Flx_ast.srcref * string> QSTRING
   126: %token<Flx_ast.srcref * string> WSTRING
   127: %token<Flx_ast.srcref * string> USTRING
   128: %token<Flx_ast.srcref * string> USER_KEYWORD
   129: %token <string list> HASH_INCLUDE_FILES
   130: %token<token list> TOKEN_LIST
   131: 
   132: /* this has to be defined, but is never seen */
   133: %token<Flx_ast.srcref * string * (token list * Flx_ast.ast_term_t) list * (string, (token list * Flx_ast.ast_term_t) list) Hashtbl.t > USER_STATEMENT_KEYWORD
   134: 
   135: /* the tokeniser replaces the above with this one */
   136: %token<Flx_ast.srcref * string * (unit -> Flx_ast.statement_t) > USER_STATEMENT_DRIVER
   137: 
   138: /* user defined symbols */
   139: %token<Flx_ast.srcref * string * string> USER10
   140: %token<Flx_ast.srcref * (string * string) list * string> USERLB
   141: %token<Flx_ast.srcref * string > USERRB
   142: %token<Flx_ast.srcref> PARSE_ACTION
   143: 
   144: %token<Flx_ast.srcref> DOLLAR
   145: %token<Flx_ast.srcref> QUEST
   146: %token<Flx_ast.srcref> EXCLAMATION
   147: %token<Flx_ast.srcref> LPAR
   148: %token<Flx_ast.srcref> RPAR
   149: %token<Flx_ast.srcref> LSQB
   150: %token<Flx_ast.srcref> RSQB
   151: %token<Flx_ast.srcref> LBRACE
   152: %token<Flx_ast.srcref> RBRACE
   153: %token<Flx_ast.srcref> COLON
   154: %token<Flx_ast.srcref> COMMA
   155: %token<Flx_ast.srcref> SEMI
   156: %token<Flx_ast.srcref> PLUS
   157: %token<Flx_ast.srcref> MINUS
   158: %token<Flx_ast.srcref> STAR
   159: %token<Flx_ast.srcref> SLASH
   160: %token<Flx_ast.srcref> VBAR
   161: %token<Flx_ast.srcref> AMPER
   162: %token<Flx_ast.srcref> LESS
   163: %token<Flx_ast.srcref> GREATER
   164: %token<Flx_ast.srcref> EQUAL
   165: %token<Flx_ast.srcref> DOT
   166: %token<Flx_ast.srcref> PERCENT
   167: %token<Flx_ast.srcref> BACKQUOTE
   168: %token<Flx_ast.srcref> TILDE
   169: %token<Flx_ast.srcref> CIRCUMFLEX
   170: %token<Flx_ast.srcref> HASH
   171: %token<Flx_ast.srcref> ANDLESS
   172: %token<Flx_ast.srcref> ANDGREATER
   173: %token<Flx_ast.srcref> EQEQUAL
   174: %token<Flx_ast.srcref> NOTEQUAL
   175: %token<Flx_ast.srcref> LESSEQUAL
   176: %token<Flx_ast.srcref> GREATEREQUAL
   177: %token<Flx_ast.srcref> LEFTSHIFT
   178: %token<Flx_ast.srcref> RIGHTSHIFT
   179: %token<Flx_ast.srcref> STARSTAR
   180: %token<Flx_ast.srcref> LESSCOLON
   181: %token<Flx_ast.srcref> COLONGREATER
   182: %token<Flx_ast.srcref> DOTDOT
   183: %token<Flx_ast.srcref> COLONCOLON
   184: %token<Flx_ast.srcref> PLUSPLUS
   185: %token<Flx_ast.srcref> MINUSMINUS
   186: %token<Flx_ast.srcref> PLUSEQUAL
   187: %token<Flx_ast.srcref> MINUSEQUAL
   188: %token<Flx_ast.srcref> STAREQUAL
   189: %token<Flx_ast.srcref> SLASHEQUAL
   190: %token<Flx_ast.srcref> PERCENTEQUAL
   191: %token<Flx_ast.srcref> CARETEQUAL
   192: %token<Flx_ast.srcref> VBAREQUAL
   193: %token<Flx_ast.srcref> AMPEREQUAL
   194: %token<Flx_ast.srcref> TILDEEQUAL
   195: %token<Flx_ast.srcref> COLONEQUAL
   196: %token<Flx_ast.srcref> RIGHTARROW
   197: %token<Flx_ast.srcref> EQRIGHTARROW
   198: %token<Flx_ast.srcref> LEFTARROW
   199: %token<Flx_ast.srcref> LSQANGLE
   200: %token<Flx_ast.srcref> RSQANGLE
   201: %token<Flx_ast.srcref> LSQBAR
   202: %token<Flx_ast.srcref> RSQBAR
   203: %token<Flx_ast.srcref> AMPERAMPER
   204: %token<Flx_ast.srcref> VBARVBAR
   205: %token<Flx_ast.srcref> SLOSHAMPER
   206: %token<Flx_ast.srcref> SLOSHVBAR
   207: %token<Flx_ast.srcref> SLOSHCIRCUMFLEX
   208: %token<Flx_ast.srcref> HASHBANG
   209: %token<Flx_ast.srcref> LEFTSHIFTEQUAL
   210: %token<Flx_ast.srcref> RIGHTSHIFTEQUAL
   211: %token<Flx_ast.srcref> LEFTRIGHTARROW
   212: %token<Flx_ast.srcref> ANDEQEQUAL
   213: %token<Flx_ast.srcref> ANDNOTEQUAL
   214: %token<Flx_ast.srcref> ANDLESSEQUAL
   215: %token<Flx_ast.srcref> ANDGREATEREQUAL
   216: %token<Flx_ast.srcref> DOTDOTDOT
   217: %token<Flx_ast.srcref> DOTRIGHTARROW
   218: %token<Flx_ast.srcref> LONGRIGHTARROW
   219: %token<Flx_ast.srcref> PARSE_ACTION
   220: %token<Flx_ast.srcref> HASHBANGSLASH
   221: %token<Flx_ast.srcref> ALL
   222: %token<Flx_ast.srcref> ASSERT
   223: %token<Flx_ast.srcref> AXIOM
   224: %token<Flx_ast.srcref> BODY
   225: %token<Flx_ast.srcref> CALL
   226: %token<Flx_ast.srcref> CASE
   227: %token<Flx_ast.srcref> CASENO
   228: %token<Flx_ast.srcref> CCLASS
   229: %token<Flx_ast.srcref> CFUNCTION
   230: %token<Flx_ast.srcref> CLASS
   231: %token<Flx_ast.srcref> COMMENT_KEYWORD
   232: %token<Flx_ast.srcref> COMPOUND
   233: %token<Flx_ast.srcref> CONST
   234: %token<Flx_ast.srcref> CPARSE
   235: %token<Flx_ast.srcref> CPROCEDURE
   236: %token<Flx_ast.srcref> CSTRUCT
   237: %token<Flx_ast.srcref> CTOR
   238: %token<Flx_ast.srcref> CTYPES
   239: %token<Flx_ast.srcref> DEF
   240: %token<Flx_ast.srcref> DO
   241: %token<Flx_ast.srcref> DONE
   242: %token<Flx_ast.srcref> ELIF
   243: %token<Flx_ast.srcref> ELSE
   244: %token<Flx_ast.srcref> ENDCASE
   245: %token<Flx_ast.srcref> ENDIF
   246: %token<Flx_ast.srcref> ENDMATCH
   247: %token<Flx_ast.srcref> ENUM
   248: %token<Flx_ast.srcref> EXPECT
   249: %token<Flx_ast.srcref> EXPORT
   250: %token<Flx_ast.srcref> FOR
   251: %token<Flx_ast.srcref> FORGET
   252: %token<Flx_ast.srcref> FORK
   253: %token<Flx_ast.srcref> FUNCTOR
   254: %token<Flx_ast.srcref> FUNCTION
   255: %token<Flx_ast.srcref> GENERATOR
   256: %token<Flx_ast.srcref> GOTO
   257: %token<Flx_ast.srcref> HALT
   258: %token<Flx_ast.srcref> HEADER
   259: %token<Flx_ast.srcref> IDENT
   260: %token<Flx_ast.srcref> INCLUDE
   261: %token<Flx_ast.srcref> INCOMPLETE
   262: %token<Flx_ast.srcref> INF
   263: %token<Flx_ast.srcref> IN
   264: %token<Flx_ast.srcref> INSTANCE
   265: %token<Flx_ast.srcref> IS
   266: %token<Flx_ast.srcref> INHERIT
   267: %token<Flx_ast.srcref> INLINE
   268: %token<Flx_ast.srcref> JUMP
   269: %token<Flx_ast.srcref> LEMMA
   270: %token<Flx_ast.srcref> LET
   271: %token<Flx_ast.srcref> LOOP
   272: %token<Flx_ast.srcref> LVAL
   273: %token<Flx_ast.srcref> MACRO
   274: %token<Flx_ast.srcref> MODULE
   275: %token<Flx_ast.srcref> NAMESPACE
   276: %token<Flx_ast.srcref> NAN
   277: %token<Flx_ast.srcref> NEW
   278: %token<Flx_ast.srcref> NOINLINE
   279: %token<Flx_ast.srcref> NONTERM
   280: %token<Flx_ast.srcref> NORETURN
   281: %token<Flx_ast.srcref> NOT
   282: %token<Flx_ast.srcref> OBJECT
   283: %token<Flx_ast.srcref> OPEN
   284: %token<Flx_ast.srcref> PACKAGE
   285: %token<Flx_ast.srcref> POD
   286: %token<Flx_ast.srcref> PRIVATE
   287: %token<Flx_ast.srcref> PROCEDURE
   288: %token<Flx_ast.srcref> PROPERTY
   289: %token<Flx_ast.srcref> REDUCE
   290: %token<Flx_ast.srcref> REF
   291: %token<Flx_ast.srcref> RENAME
   292: %token<Flx_ast.srcref> REQUIRES
   293: %token<Flx_ast.srcref> RETURN
   294: %token<Flx_ast.srcref> STRUCT
   295: %token<Flx_ast.srcref> THEN
   296: %token<Flx_ast.srcref> TODO
   297: %token<Flx_ast.srcref> TO
   298: %token<Flx_ast.srcref> TYPEDEF
   299: %token<Flx_ast.srcref> TYPE
   300: %token<Flx_ast.srcref> TYPECLASS
   301: %token<Flx_ast.srcref> UNION
   302: %token<Flx_ast.srcref> USE
   303: %token<Flx_ast.srcref> VAL
   304: %token<Flx_ast.srcref> VAR
   305: %token<Flx_ast.srcref> VIRTUAL
   306: %token<Flx_ast.srcref> WHERE
   307: %token<Flx_ast.srcref> WHEN
   308: %token<Flx_ast.srcref> WITH
   309: %token<Flx_ast.srcref> YIELD
   310: %token<Flx_ast.srcref> GC_POINTER
   311: %token<Flx_ast.srcref> GC_TYPE
   312: %token<Flx_ast.srcref> SVC
   313: %token<Flx_ast.srcref> DEREF
   314: %token<Flx_ast.srcref> AND
   315: %token<Flx_ast.srcref> AS
   316: %token<Flx_ast.srcref> CALLBACK
   317: %token<Flx_ast.srcref> CODE
   318: %token<Flx_ast.srcref> IF
   319: %token<Flx_ast.srcref> ISIN
   320: %token<Flx_ast.srcref> MATCH
   321: %token<Flx_ast.srcref> NOEXPAND
   322: %token<Flx_ast.srcref> OF
   323: %token<Flx_ast.srcref> OR
   324: %token<Flx_ast.srcref> PARSE
   325: %token<Flx_ast.srcref> REGEXP
   326: %token<Flx_ast.srcref> REGLEX
   327: %token<Flx_ast.srcref> REGMATCH
   328: %token<Flx_ast.srcref> THE
   329: %token<Flx_ast.srcref> TYPEMATCH
   330: %token<Flx_ast.srcref> TYPECASE
   331: %token<Flx_ast.srcref> WHENCE
   332: %token<Flx_ast.srcref> UNLESS
   333: %token<Flx_ast.srcref> UNDERSCORE
   334: %token<Flx_ast.srcref> EXPRESSION
   335: %token<Flx_ast.srcref> FLOAT_LITERAL
   336: %token<Flx_ast.srcref> INTEGER_LITERAL
   337: %token<Flx_ast.srcref> STRING_LITERAL
   338: %token<Flx_ast.srcref> STATEMENT
   339: %token<Flx_ast.srcref> STATEMENTS
   340: %type <Flx_ast.range_srcref * Flx_ast.statement_t list> compound
   341: %type <Flx_ast.statement_t> statement
   342: %type <Flx_ast.statement_t list * token> statementsx
   343: %type <Flx_ast.expr_t> expr
   344: %type <Flx_ast.expr_t> rvalue
   345: %type<Flx_ast.tpattern_t> tpattern
   346: %type <Flx_ast.pattern_t> pattern
   347: 
   348: %type <Flx_ast.compilation_unit_t> compilation_unit
   349: %start compilation_unit
   350: 
   351: %type <Flx_ast.expr_t> qualified_name
   352: %type <Flx_ast.expr_t> expression
   353: %type <Flx_ast.expr_t> expr
   354: %type <Flx_ast.expr_t * token> exprx
   355: %type <Flx_ast.expr_t> atom
   356: %type <unit> semi
   357: %type <Flx_ast.expr_t> integer_literal
   358: %type <Flx_ast.expr_t> float_literal
   359: %type <Flx_ast.expr_t> string_literal
   360: 
   361: %start expression
   362: %start statement
   363: %start exprx
   364: %start expr
   365: %start semi
   366: %start atom
   367: %start compound
   368: %start statementsx
   369: %start integer_literal
   370: %start float_literal
   371: %start string_literal
   372: 
   373: %%
   374: 
End data section to src/flx_parse.mly[2]