0

私は次のコードにも expr のようなものがあります: int {} | BOOL {} などですが、このパーサーの型に書くべき型が何であるかわかりません。int で動作する電卓の例があり、型は int ですが、私のプログラムには float char 文字列などがあります..ありがとう

  %{
dont know what to write here

 %}

 %token <int> INT
 %token <float> FLOAT
 %token <char> CHAR
 %token <bool> BOOL
 %token <string> IDENT
 %token PLUS Div Bigger Smaller MINUS TIMES 
%token TYPE
%token DEF DD
%token Equals Atribuicao SoE BoE And Or
%token IF ELSE BEGIN END WHILE RETURN PV SEQ TO BY OF 
%token RP LP LB RB  
%token EOL
%left Bigger Smaller SoE BoE Equals Atribuicao Or And
%left PLUS MINUS       
%left TIMES Div        
%nonassoc UMINUS OF  

%start main          

%type <> main /* what should be in here ? */


main:
| expr EOL                { $1 }
expr:           
  INT                   {  }    
| BOOL                  {  }  
| FLOAT                 {  }
| CHAR                  {  } 
| expr OF expr              {   }
| BEGIN expr END            {   }
| RETURN expr PV            { $2 }
| LP expr RP                { $2 }
| LB expr RB                { $2 } 
| expr PLUS expr            {  }
| expr MINUS expr           {  }
| expr TIMES expr               {  }
%%

let main() = begin
 Printf.printf "Hello yo\n" ;

end;;
4

1 に答える 1