fork download
  1. 1 %{
  2. 2 #include<stdio.h>
  3. 3 int i = 0, tab = 0, flag = 0;
  4. 4 %}
  5. 5 text .*
  6. 6 %%
  7. 7 {text} {
  8. 8 i = 0;
  9. 9 while(i < yyleng && yytext[i] == '\t') i++;
  10. 10 if(yytext[i] == '}'){
  11. 11 tab--;
  12. 12 flag = 1;
  13. 13 }
  14. 14
  15. 15 for(int j = 0; j < tab; j++) printf("\t");
  16. 16
  17. 17 for(; i < yyleng; i++){
  18. 18 if(yytext[i] == '{') tab++;
  19. 19 if(yytext[i] == '}'){
  20. 20 tab--;
  21. 21 if(flag){
  22. 22 flag = 0;
  23. 23 tab++;
  24. 24 }
  25. 25 }
  26. 26 printf("%c", yytext[i]);
  27. 27 }
  28. 28 }
  29. 29 \n {printf("\n");}
  30. 30 %%
  31. 31 int main(){
  32. 32 yylex();
  33. 33 return 0;
  34. 34 }
Success #stdin #stdout #stderr 0.04s 6948KB
stdin
#include<iostream>
using namespace std;

int main(){
for(int fh1=0;fh1<10;fh1++){
for(int fh2=0;fh2<fh1;fh2++){
	cout<<"*";
}
cout<<"\n";
}
}
stdout
Standard output is empty
stderr
ERROR: /home/BGjajt/prog:34:4: Syntax error: Unexpected end of file
ERROR: '$runtoplevel'/0: Undefined procedure: program/0
   Exception: (3) program ? ERROR: Unknown option (h for help)
   Exception: (3) program ? ERROR: '$runtoplevel'/0: Undefined procedure: program/0
   Exception: (3) program ? ERROR: '$runtoplevel'/0: Undefined procedure: program/0
   Exception: (3) program ? ERROR: Can't ignore goal at this port
ERROR: '$runtoplevel'/0: Undefined procedure: program/0
   Exception: (3) program ? ERROR: '$runtoplevel'/0: Undefined procedure: program/0
   Exception: (3) program ? ERROR: '$runtoplevel'/0: Undefined procedure: program/0
   Exception: (3) program ? ERROR: '$runtoplevel'/0: Undefined procedure: program/0
   Exception: (3) program ? ERROR: Unknown option (h for help)
   Exception: (3) program ? ERROR: '$runtoplevel'/0: Undefined procedure: program/0
   Exception: (3) program ? ERROR: Unknown option (h for help)
   Exception: (3) program ? ERROR: Unknown option (h for help)
   Exception: (3) program ? EOF: exit