fork download
  1. ( FileName ) :-
  2. get_input_from_file( FileName, TokenList ),
  3. lex( TokenList, OutputList ),
  4. %write_output( OutputList ), !.
  5. maplist(writeln,OutputList),!.
  6.  
  7. %% atom_number(atom, number)
  8. lex([],[]).
  9. lex(['int' | T], ['TYPE: int' | R]) :- lex(T, R).
  10. lex(['bool' | T], ['TYPE: bool'] | R) :- lex(T, R).
  11. lex([',' | T], ['COMMA: ,'] | R) :- lex(T, R).
  12. lex([X | T], [X | R]) :- lex(T, R).
  13.  
Success #stdin #stdout #stderr 0.03s 7000KB
stdin
%{
#include"ex3a.tab.h"
%}
%%
"="{printf("\nOperatorisEQUAL");}
"+"{printf("\nOperatorisPLUS");}"-"{printf("\nOperatorisMINUS");}
"/"{printf("\nOperatorisDIVISION");}
""{printf("\nOperatorisMULTIPLICATION");}
[a-zA-Z][0-9]*{printf("\nIdentifieris%s",yytext);returnID;}
.returnyytext[0];
\nreturn0;
%%
intyywrap()
{
return1;
}
YACCPART:ex3a.y
%{
#include<stdio.h>
%}
%tokenA
%tokenID

%%
statement:A'='E
|E{
printf("\nValidarithmeticexpression");

=$1;
};E:E'+'ID
|E'-'ID
|E''ID
|E'/'ID
|ID
;
%%
externFILEyyin;main()
{
do
{
yyparse();
}while(!feof(yyin));
}
yyerror(char*s)
{
}
stdout
Standard output is empty
stderr
ERROR: /home/CTDG7p/prog:1:
	Arguments are not sufficiently instantiated
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 ? ERROR: Unknown option (h for help)
   Exception: (3) program ? ERROR: Unknown option (h for help)
   Exception: (3) program ? ERROR: Unknown option (h for help)
   Exception: (3) program ? ERROR: Unknown option (h for help)
   Exception: (3) program ? ERROR: Unknown option (h for help)
   Exception: (3) program ? ERROR: Unknown option (h for help)
   Exception: (3) program ? ERROR: Unknown option (h for help)
   Exception: (3) program ? ERROR: No previous search
   Exception: (3) program ? ERROR: Unknown option (h for help)
   Exception: (3) program ? ERROR: Unknown option (h for help)
   Exception: (3) program ? ERROR: Can't ignore goal at this port
ERROR: '$runtoplevel'/0: Undefined procedure: program/0
   Exception: (3) program ? ERROR: Unknown option (h for help)
   Exception: (3) program ?    Call: (3) program ? ERROR: Unknown option (h for help)
   Call: (3) program ? ERROR: Unknown option (h for help)
   Call: (3) program ? ERROR: Unknown option (h for help)
   Call: (3) program ? ERROR: Unknown option (h for help)
   Call: (3) program ? ERROR: Unknown option (h for help)
   Call: (3) program ? ERROR: Unknown option (h for help)
   Call: (3) program ? ERROR: Unknown option (h for help)
   Call: (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 ?    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 ? ERROR: Unknown option (h for help)
   Exception: (3) program ? ERROR: Unknown option (h for help)
   Exception: (3) program ? ERROR: Unknown option (h for help)
   Exception: (3) program ? ERROR: Unknown option (h for help)
   Exception: (3) program ? ERROR: Unknown option (h for help)
   Exception: (3) program ? ERROR: Unknown option (h for help)
   Exception: (3) program ?