Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
%{ #ifdef abc . . . // C declarations . %} . . // Yacc Declaration . %% . . //expected inputs and corresponding actins . %% #endif
#ifdef abcこのコードは私のためにコンパイルされますが、それでも正しく配置されていないと強く感じます。このタイプのコードは Yacc で有効ですか。
#ifdef abc
YACC の経験はほとんどありません。
ありがとう
%{との間のコード%}は、生成された C ソース ファイルの先頭にそのまま配置されます。ルールの後のコードも、生成されたファイルの最後にそのまま配置されます。
%{
%}
したがって、あなたの質問に対する答えは次のとおりです。はい、Yacc と生成されたソースの両方で正しいです。ただし、読みやすさの観点からすると、Yacc コードは疑わしいと見なされる可能性があります。