home *** CD-ROM | disk | FTP | other *** search
/ Big Green CD 8 / BGCD_8_Dev.iso / NEXTSTEP / UNIX / Programming / GDBbundle-1.0-MIS / src / TextEdit / GdbBundle.bproj / parser.dlg < prev    next >
Encoding:
Text File  |  1997-05-10  |  2.8 KB  |  331 lines

  1. <<
  2. /* parser.dlg -- DLG Description of scanner
  3.  *
  4.  * Generated from: GdbValue.g
  5.  *
  6.  * Terence Parr, Will Cohen, and Hank Dietz: 1989-1994
  7.  * Purdue University Electrical Engineering
  8.  * With AHPCRC, University of Minnesota
  9.  * ANTLR Version 1.33
  10.  */
  11.  
  12. #include <stdio.h>
  13. #define ANTLR_VERSION    133
  14.  
  15. #import <Foundation/NSString.h>
  16.  
  17. #ifndef __Attrib_def__
  18. #define __Attrib_def__
  19. typedef id Attrib;
  20. #endif
  21.  
  22. #define USER_ZZSYN
  23. void zzcr_attr(Attrib* attr, int token, char* text);
  24. #define LL_K 2
  25. #include "antlr.h"
  26. #include "tokens.h"
  27. #include "dlgdef.h"
  28. LOOKAHEAD
  29. void zzerraction()
  30. {
  31.     (*zzerr)("invalid token");
  32.     zzadvance();
  33.     zzskip();
  34. }
  35. >>
  36.  
  37. <<
  38.  
  39. >>
  40.  
  41. %%START
  42.  
  43. @
  44.     <<
  45.         NLA = Eof;
  46.     >>
  47.  
  48. [\t\ ]+
  49.     <<
  50.         NLA = 9;
  51.         zzskip();  
  52.     >>
  53.  
  54. \n
  55.     <<
  56.         NLA = 10;
  57.         zzline++; zzskip();  
  58.     >>
  59.  
  60. \"
  61.     <<
  62.         NLA = 11;
  63.         {zzmore(); zzmode(STRING_CLASS);}  
  64.     >>
  65.  
  66. \<
  67.     <<
  68.         NLA = 12;
  69.         zzmore(); zzmode(FUNCTION_NAME_CLASS);  
  70.     >>
  71.  
  72. \{
  73.     <<
  74.         NLA = LCURLYBRACE;
  75.     >>
  76.  
  77. \}
  78.     <<
  79.         NLA = RCURLYBRACE;
  80.     >>
  81.  
  82. \[
  83.     <<
  84.         NLA = LSQUAREBRACKET;
  85.     >>
  86.  
  87. \]
  88.     <<
  89.         NLA = RSQUAREBRACKET;
  90.     >>
  91.  
  92. \(
  93.     <<
  94.         NLA = LPARENTHESIS;
  95.     >>
  96.  
  97. \)
  98.     <<
  99.         NLA = RPARENTHESIS;
  100.     >>
  101.  
  102. ::
  103.     <<
  104.         NLA = DOUBLECOLON;
  105.     >>
  106.  
  107. ;
  108.     <<
  109.         NLA = SEMICOLON;
  110.     >>
  111.  
  112. =
  113.     <<
  114.         NLA = EQUAL;
  115.     >>
  116.  
  117. \*
  118.     <<
  119.         NLA = STAR;
  120.     >>
  121.  
  122. &
  123.     <<
  124.         NLA = AMPERSAND;
  125.     >>
  126.  
  127. ,
  128.     <<
  129.         NLA = COMMA;
  130.     >>
  131.  
  132. <
  133.     <<
  134.         NLA = LESSTHAN;
  135.     >>
  136.  
  137. \>
  138.     <<
  139.         NLA = GREATERTHAN;
  140.     >>
  141.  
  142. ...
  143.     <<
  144.         NLA = DOTS;
  145.     >>
  146.  
  147. const
  148.     <<
  149.         NLA = CONST;
  150.     >>
  151.  
  152. volatile
  153.     <<
  154.         NLA = VOLATILE;
  155.     >>
  156.  
  157. unsigned
  158.     <<
  159.         NLA = UNSIGNED;
  160.     >>
  161.  
  162. char
  163.     <<
  164.         NLA = CHAR;
  165.     >>
  166.  
  167. short
  168.     <<
  169.         NLA = SHORT;
  170.     >>
  171.  
  172. int
  173.     <<
  174.         NLA = INT;
  175.     >>
  176.  
  177. long
  178.     <<
  179.         NLA = LONG;
  180.     >>
  181.  
  182. float
  183.     <<
  184.         NLA = FLOAT;
  185.     >>
  186.  
  187. double
  188.     <<
  189.         NLA = DOUBLE;
  190.     >>
  191.  
  192. struct
  193.     <<
  194.         NLA = STRUCT;
  195.     >>
  196.  
  197. union
  198.     <<
  199.         NLA = UNION;
  200.     >>
  201.  
  202. enum
  203.     <<
  204.         NLA = ENUM;
  205.     >>
  206.  
  207. class
  208.     <<
  209.         NLA = CLASS;
  210.     >>
  211.  
  212. void
  213.     <<
  214.         NLA = VOID;
  215.     >>
  216.  
  217. No\ arguments\.
  218.     <<
  219.         NLA = NO_ARGUMENTS;
  220.     >>
  221.  
  222. No\ locals\.
  223.     <<
  224.         NLA = NO_LOCALS;
  225.     >>
  226.  
  227. No\ symbol\ table\ info\ available\.
  228.     <<
  229.         NLA = NO_SYMBOL_TABLE;
  230.     >>
  231.  
  232. [a-zA-Z_$]([a-zA-Z0-9_$])*
  233.     <<
  234.         NLA = IDENTIFIER;
  235.     >>
  236.  
  237. \'~[\']*\'
  238.     <<
  239.         NLA = CHARACTER;
  240.     >>
  241.  
  242. {[\+\-]}0[0-7]*{[uUlL]}
  243.     <<
  244.         NLA = OCTALINT;
  245.     >>
  246.  
  247. {[\+\-]}[1-9][0-9]*{[uUlL]}
  248.     <<
  249.         NLA = DECIMALINT;
  250.     >>
  251.  
  252. {[\+\-]}(0x|0X)[0-9a-fA-F]+{[uUlL]}
  253.     <<
  254.         NLA = HEXADECIMALINT;
  255.     >>
  256.  
  257. {[\+\-]}([0-9]+.[0-9]* | [0-9]*.[0-9]+) {[eE]{[\-\+]}[0-9]+}
  258.     <<
  259.         NLA = FLOATONE;
  260.     >>
  261.  
  262. {[\+\-]}[0-9]+ [eE]{[\-\+]}[0-9]+
  263.     <<
  264.         NLA = FLOATTWO;
  265.     >>
  266.  
  267. {[\+\-]}[nN]a[nN]\((0x|0X)[0-9a-fA-F]+\)
  268.     <<
  269.         NLA = FLOATTHREE;
  270.     >>
  271.  
  272.  
  273. %%STRING_CLASS
  274.  
  275. @
  276.     <<
  277.         NLA = Eof;
  278.     >>
  279.  
  280. \"
  281.     <<
  282.         NLA = STRING;
  283.         zzmode(START); zzreplstr("\"");  
  284.     >>
  285.  
  286. \\\"
  287.     <<
  288.         NLA = 3;
  289.         zzmode(START); zzreplstr("\\\"");  
  290.     >>
  291.  
  292. [\1-\31]
  293.     <<
  294.         NLA = 4;
  295.         zzmore();  
  296.     >>
  297.  
  298. [\128-\254]
  299.     <<
  300.         NLA = 5;
  301.         zzmore();  
  302.     >>
  303.  
  304. ~[\"]+
  305.     <<
  306.         NLA = 6;
  307.         zzmore();  
  308.     >>
  309.  
  310.  
  311. %%FUNCTION_NAME_CLASS
  312.  
  313. @
  314.     <<
  315.         NLA = Eof;
  316.     >>
  317.  
  318. \>
  319.     <<
  320.         NLA = FUNCTION_NAME;
  321.         zzmode(START); zzreplstr(">");  
  322.     >>
  323.  
  324. ~[\>]+
  325.     <<
  326.         NLA = 8;
  327.         zzmore();  
  328.     >>
  329.  
  330. %%
  331.