bytecode compiler headers More...
#include <iostream>
#include <map>
#include <vector>
#include "FORTH.h"
#include "ByteCompiler.parser.hpp"
Go to the source code of this file.
Macros | |
#define | cmd0(OP) { yylval.cmd0 = OP; return CMD0; } |
zero paramater command macro used in .lex | |
#define | cmd1(OP) { yylval.cmd1 = OP; return CMD1; } |
Functions | |
void | Lcompile (std::string *name) |
compile label | |
void | Ldefine (std::string *name) |
define label | |
int | yylex () |
lexer interface More... | |
int | yyparse () |
syntax parser interface | |
void | yyerror (std::string message) |
syntax error callback More... | |
Variables | |
std::map< std::string, CELL > | label |
code labels table | |
std::map< std::string, std::vector< CELL > > | forward |
table of forward references | |
int | yylineno = 1 |
current line number | |
char * | yytext |
text part matched by lexer regexp | |
bytecode compiler headers
void yyerror | ( | std::string | message | ) |
syntax error callback
[in] | message | string with message text generated in lexer or parser |
int yylex | ( | ) |
lexer interface
int
token id + can return extra parsed data via yylval structure to syntax parser