私は、リンカスクリプトに私はどのようにバイソン/フレックスと解析するのですか?
example.ldを解析することにより、以下の例をしたいと思っ
MEMORY
{
INCLUDE example_include.ld
}
私はこれを行うことができますいくつかのコードを発見した
rom : ORIGIN = 0, LENGTH = 256K
example_include.ld、それc flex/bisonであり、私はC++ flex/bisonを使用しています。私はyyFlexLexer lexer;
私を提供 使用できることを考え出しまし
:
このようにyy_create_buffer()
とは...私はbinutilsの/ LD/ldlex.lで見つけましたコードです。多分それが私を助けるかもしれない。
void
lex_push_file (FILE *file, const char *name, unsigned int sysrooted)
{
if (include_stack_ptr >= MAX_INCLUDE_DEPTH)
{
einfo ("%F:includes nested too deeply\n");
}
file_name_stack[include_stack_ptr] = name;
lineno_stack[include_stack_ptr] = lineno;
sysrooted_stack[include_stack_ptr] = input_flags.sysrooted;
include_stack[include_stack_ptr] = YY_CURRENT_BUFFER;
include_stack_ptr++;
lineno = 1;
input_flags.sysrooted = sysrooted;
yyin = file;
yy_switch_to_buffer (yy_create_buffer (yyin, YY_BUF_SIZE));
}
私の問題は、良い例やドキュメント、C++ bison/flexの使い方が見つからないということですか?たとえば、保護されていて公開されていないため、yyin
は使用できません。
私はドキュメンテーションに従い、そのようにしました。 BEGIN(incl)と一緒に。それはまだ非常に緩んでおり、私はここでさらに具体的に尋ねるかもしれません。 – j35t3r