Advertisement
Guest User

Untitled

a guest
Feb 27th, 2017
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.38 KB | None | 0 0
  1. %X COMMENT STR
  2. %{
  3. #include <string.h>
  4. int imprimir=0;
  5. %}
  6.  
  7. %%
  8. \" {BEGIN STR}
  9. <STR>\" {BEGIN 0, printf("\n");}
  10. <STR>. {if(imprimir==1){printf("%c",*yytext);}}
  11.  
  12. boolean {if(imprimir==1){printf("BOOL\n");}}
  13. true|false {if(imprimir==1){printf("BOOLLIT\n");}}
  14. class {if(imprimir==1){printf("CLASS\n");}}
  15. do {if(imprimir==1){printf("DO\n");}}
  16. "."lenght {if(imprimir==1){printf("DOTLENGTH\n");}}
  17. double {if(imprimir==1){printf("DOUBLE\n");}}
  18. else {if(imprimir==1){printf("ELSE\n");}}
  19. if {if(imprimir==1){printf("IF\n");}}
  20. int {if(imprimir==1){printf("INT\n");}}
  21. Integer"."parseInt {if(imprimir==1){printf("PARSEINT\n");}}
  22. System"."out"."println {if(imprimir==1){printf("PRINT\n");}}
  23. Integer {if(imprimir==1){printf("RESERVED\n");}}
  24. System {if(imprimir==1){printf("RESERVED\n");}}
  25. public {if(imprimir==1){printf("PUBLIC\n");}}
  26. return {if(imprimir==1){printf("RETURN\n");}}
  27. static {if(imprimir==1){printf("STATIC\n");}}
  28. string {if(imprimir==1){printf("STRING\n");}}
  29. void {if(imprimir==1){printf("VOID\n");}}
  30. while {if(imprimir==1){printf("WHILE\n");}}
  31. null {if(imprimir==1){printf("RESERVED\n");}}
  32. abstract {if(imprimir==1){printf("RESERVED\n");}}
  33. assert {if(imprimir==1){printf("RESERVED\n");}}
  34. break {if(imprimir==1){printf("RESERVED\n");}}
  35. byte {if(imprimir==1){printf("RESERVED\n");}}
  36. case {if(imprimir==1){printf("RESERVED\n");}}
  37. catch {if(imprimir==1){printf("RESERVED\n");}}
  38. char {if(imprimir==1){printf("RESERVED\n");}}
  39. const {if(imprimir==1){printf("RESERVED\n");}}
  40. continue {if(imprimir==1){printf("RESERVED\n");}}
  41. default {if(imprimir==1){printf("RESERVED\n");}}
  42. enum {if(imprimir==1){printf("RESERVED\n");}}
  43. extends {if(imprimir==1){printf("RESERVED\n");}}
  44. final {if(imprimir==1){printf("RESERVED\n");}}
  45. finally {if(imprimir==1){printf("RESERVED\n");}}
  46. float {if(imprimir==1){printf("RESERVED\n");}}
  47. for {if(imprimir==1){printf("RESERVED\n");}}
  48. goto {if(imprimir==1){printf("RESERVED\n");}}
  49. implements {if(imprimir==1){printf("RESERVED\n");}}
  50. import {if(imprimir==1){printf("RESERVED\n");}}
  51. instanceof {if(imprimir==1){printf("RESERVED\n");}}
  52. interface {if(imprimir==1){printf("RESERVED\n");}}
  53. long {if(imprimir==1){printf("RESERVED\n");}}
  54. native {if(imprimir==1){printf("RESERVED\n");}}
  55. new {if(imprimir==1){printf("RESERVED\n");}}
  56. package {if(imprimir==1){printf("RESERVED\n");}}
  57. private {if(imprimir==1){printf("RESERVED\n");}}
  58. protected {if(imprimir==1){printf("RESERVED\n");}}
  59. short {if(imprimir==1){printf("RESERVED\n");}}
  60. strictfp {if(imprimir==1){printf("RESERVED\n");}}
  61. super {if(imprimir==1){printf("RESERVED\n");}}
  62. switch {if(imprimir==1){printf("RESERVED\n");}}
  63. synchronized {if(imprimir==1){printf("RESERVED\n");}}
  64. this {if(imprimir==1){printf("RESERVED\n");}}
  65. throws {if(imprimir==1){printf("RESERVED\n");}}
  66. throw {if(imprimir==1){printf("RESERVED\n");}}
  67. transient {if(imprimir==1){printf("RESERVED\n");}}
  68. try {if(imprimir==1){printf("RESERVED\n");}}
  69. volatile {if(imprimir==1){printf("RESERVED\n");}}
  70. "(" {if(imprimir==1){printf("OCURV\n");}}
  71. ")" {if(imprimir==1){printf("CCURV\n");}}
  72. "{" {if(imprimir==1){printf("OBRACE\n");}}
  73. "}" {if(imprimir==1){printf("CBRACE\n");}}
  74. "[" {if(imprimir==1){printf("OSQUARE\n");}}
  75. "]" {if(imprimir==1){printf("CSQUARE\n");}}
  76. "&&" {if(imprimir==1){printf("AND\n");}}
  77. "||" {if(imprimir==1){printf("OR\n");}}
  78. "<" {if(imprimir==1){printf("LT\n");}}
  79. ">" {if(imprimir==1){printf("GT\n");}}
  80. "==" {if(imprimir==1){printf("EQ\n");}}
  81. "!=" {if(imprimir==1){printf("NEQ\n");}}
  82. "<=" {if(imprimir==1){printf("LEQ\n");}}
  83. ">=" {if(imprimir==1){printf("GEQ\n");}}
  84. "++" {if(imprimir==1){printf("RESERVED\n");}}
  85. "+" {if(imprimir==1){printf("PLUS\n");}}
  86. "--" {if(imprimir==1){printf("RESERVED\n");}}
  87. "-" {if(imprimir==1){printf("MINUS\n");}}
  88. "*" {if(imprimir==1){printf("STAR\n");}}
  89. "/" {if(imprimir==1){printf("DIV\n");}}
  90. "%" {if(imprimir==1){printf("MOD\n");}}
  91. "!" {if(imprimir==1){printf("NOT\n");}}
  92. "=" {if(imprimir==1){printf("ASSIGN\n");}}
  93. ";" {if(imprimir==1){printf("SEMI\n");}}
  94. "," {if(imprimir==1){printf("COMMA\n");}}
  95.  
  96. ([a-z]|_|$|[A-Z])([a-z]|[A-Z]|_|$|[0-9])* {if(imprimir==1){printf("ID(%c)\n",*yytext);}}
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104. " " ;
  105. \t ;
  106. \n ;
  107. \f ;
  108. \r ;
  109.  
  110. . ;
  111.  
  112. %%
  113. int main(int argc, char **argv)
  114. {
  115. if(strcmp(argv[1],"-l")==0||strcmp(argv[1],"-1")==0){
  116. imprimir=1;
  117. }
  118.  
  119. yylex();
  120.  
  121. return 0;
  122. }
  123.  
  124. int yywrap()
  125. {
  126. return 1;
  127. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement