This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This is a temporary directory used for yacc and lex intermediary
files.
The component.mk controls the compilation. It does:
$ yacc -o $(COMPONENT_PATH)/yacclex/dbc_parser.cpp
-d $(COMPONENT_PATH)/src/dbc_parser.y
The expectation here is that the ‘-o’ produces dbc_parser.cpp
and dbs_parser.hpp
$ lex -o $(COMPONENT_PATH)/yacclex/dbc_tokeniser.c
$(COMPONENT_PATH)/src/dbc_tokeniser.l
This #include the dbc_parser.hpp and produced dbc_tokeniser.c
Then dbc_tokeniser.c and dbc_parser.cpp are compiled as normal
We use ‘yacclex’ as a temporary path, to keep these auto-generated code
files separate.
The behaviour of bison is that ‘-o’ outputs both .hpp and .cpp files
(from the ‘-o’ directive). If think byacc may behave differently. We
need both the header and code files, and they need to be named .hpp
and .cpp as they need to produce c++ code. The dbc_tokeniser is in C,
as Lex only really supports C and we can “extern C” the stuff we need
when we access it (there is not much).