Advertisement
Guest User

Untitled

a guest
Dec 17th, 2017
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.25 KB | None | 0 0
  1. zad 1
  2. c
  3.  
  4. ws [\t ]
  5. %%
  6. [A-Z][a-zA-z]* {printf("%s:   ",yytext);}
  7. {ws} {printf("");}
  8. %%
  9.  
  10.  
  11. zad 2
  12.  
  13. %Start s0 s1 e
  14. %{
  15. int lz = 0;
  16. int lj = 0;
  17. %}
  18. zero 0
  19. jeden 1
  20. nl [\r\n]
  21. %%
  22. <INITIAL>{zero} { lz++; BEGIN(s0); ECHO;}
  23. <INITIAL>{nl} { printf(" OK\n"); }
  24. <INITIAL>. { BEGIN(e); ECHO;}
  25. <s0>{jeden} { lj++; BEGIN(s1); ECHO;}
  26. <s0>{zero} { lz++; ECHO;}
  27. <s0>{nl} { printf(" Error\n"); BEGIN(INITIAL); }
  28. <s0>. { BEGIN(e); ECHO;}
  29. <s1>{jeden} { lj++; ECHO;}
  30. <s1>. {  BEGIN(e); ECHO;}
  31. <s1>{nl} {
  32.         if(lz == lj) { printf(" OK\n"); BEGIN(INITIAL); }
  33.         else { printf(" Error\n"); lz = 0; lj = 0; }
  34. }
  35. <e>{nl} { printf(" Error\n"); lz = 0; lj = 0; BEGIN(INITIAL); }
  36. <e>. {ECHO;}
  37. %%
  38.  
  39.  
  40.  
  41. zad 3
  42.  
  43. %%
  44. [\n] {printf("\n");}
  45. [^A-Za-z0-9] {printf("-");}
  46. %%
  47.  
  48.  
  49.  
  50. zad 4
  51.  
  52. ws [\t ]
  53. %%
  54. [^\t\n ]{ws} {printf("%s", yytext);}
  55. {ws} {printf("");}
  56. %%
  57.  
  58.  
  59.  
  60.  
  61. zad 4a
  62.  
  63. %{
  64. int sr = 0;
  65. %}
  66.  
  67. %start s0
  68.  
  69. us [\:\-\)]
  70. ne [\:\-\|]
  71. sm [\:\-\(]
  72. nl [\n]
  73. %%
  74. <INITIAL>{ne} {printf("%s", yytext); BEGIN INITIAL;}
  75. <INITIAL>{us} {printf("%s",yytext);sr++; BEGIN INITIAL;}
  76. <INITIAL>{sm} {printf("%s",yytext);sr--; BEGIN INITIAL;}
  77. <INITIAL>; {if(sr < 0) printf(" * :-("); else if(sr == 0) printf(" * :-|"); else printf(" * :-)"); sr=0; BEGIN INITIAL;}
  78. %%
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement