298 Commits

Author SHA1 Message Date
0cc4516c0e Add GrammarParser class to parse input file 2021-05-01 08:22:14 -04:00
75a1049040 Parse command-line options 2021-05-01 08:16:09 -04:00
a9ff93dda4 Add script to test run 2021-05-01 08:16:01 -04:00
d879a93d09 Add bin/imbecile and Imbecile::CLI module 2021-04-29 23:26:52 -04:00
ee27c5e9b1 Add Gemfile.lock 2021-04-29 23:26:37 -04:00
989e5f47de Edit some gemspec fields 2021-04-29 23:26:29 -04:00
04e17cde30 Add "bundle gem"-generated files 2021-04-29 23:22:23 -04:00
bc217e7ddb Start on ruby branch 2021-04-29 23:18:22 -04:00
Josh Holtrop
064bb94108 token data protected again by default now 2010-06-01 11:53:42 -04:00
Josh Holtrop
b689923475 user data in "public" section by default now; storing list of tokens in the generated parser for use later by the rules 2010-05-21 11:05:26 -04:00
Josh Holtrop
dfbd319329 fixed build test sscanf() arg order 2010-05-21 10:48:46 -04:00
Josh Holtrop
9055f591f9 execute test after building it 2010-05-21 10:27:27 -04:00
Josh Holtrop
3cdaa2e338 bugfix -- create Matches with longest_match_ovector not the temporary ovector 2010-05-21 10:27:16 -04:00
Josh Holtrop
3a3dc4074b added Token::m_type/setType()/getType(); changed Token::process() to accept a const reference to a Matches; updated build test 2010-05-21 10:22:37 -04:00
Josh Holtrop
5219989f2a added TokenDefinition::getClassName() 2010-05-21 10:01:31 -04:00
Josh Holtrop
3f3dd81e67 added TokenDefinition::getIdentifier() and replacement buildToken 2010-05-21 09:46:17 -04:00
Josh Holtrop
c6cc8e57d1 added token classes and token class process() methods to Imbecile-generated parser 2010-05-20 17:08:03 -04:00
Josh Holtrop
449a510671 re-worked defines in generated parser; writing TK_ #define's for token types now 2010-05-20 15:59:06 -04:00
Josh Holtrop
4ec500a2fb added token_data and token_code replacements for global Token information; added debug message for missing replacements 2010-05-20 15:27:08 -04:00
Josh Holtrop
62fd96ad9b updated replacement system 2010-05-19 16:50:36 -04:00
Josh Holtrop
ecfa1730f5 created replacement system for templates ("{%word%}" syntax) 2010-05-19 16:14:04 -04:00
Josh Holtrop
55b1e1494a renamed MatchSet to Matches 2010-05-19 14:30:15 -04:00
Josh Holtrop
b100c035a0 MatchSet updates 2010-05-19 14:06:02 -04:00
Josh Holtrop
3a0a7e494d added MatchSet class; Token::process() 2010-05-19 13:43:06 -04:00
Josh Holtrop
c0e88f5c6f changed token list to a STL list instead of a vector 2010-05-19 12:20:50 -04:00
Josh Holtrop
762ff3d561 added data gathering; changed the way gathering was done (now ${...$} and %{...%}); added continue_line in parseInputFile() 2010-05-19 12:00:06 -04:00
Josh Holtrop
b90b83ab0f renamed "ignored" flag to "process" in token definitions 2010-05-18 14:22:11 -04:00
Josh Holtrop
953796ec23 refactored into Parser::buildTokenList() 2010-05-17 16:26:42 -04:00
Josh Holtrop
89a414ff93 added "ignored" flag in TokenDefinition, parsing token flags now 2010-05-17 15:32:27 -04:00
Josh Holtrop
593c0d6cb6 including refptr in compiler include path; added split() and trim() in TokenDefinition.cc 2010-05-17 15:24:35 -04:00
Josh Holtrop
9d6ede6106 added refptr into tmpl/parser.h, added Node and Token classes to be generated 2010-05-17 15:13:22 -04:00
Josh Holtrop
2d563b9ea4 updated build test Makefile 2010-05-15 00:51:43 -04:00
Josh Holtrop
96010ea9ae lexer working with pcre, not building any objects for handling tokens yet 2010-05-15 00:43:55 -04:00
Josh Holtrop
25888fe55a building tmpl.h before dependency files 2010-05-14 22:30:48 -04:00
Josh Holtrop
edeb857c77 added I_TOKENLIST definition; build test now compiling 2010-05-11 16:33:22 -04:00
Josh Holtrop
b27a900b96 Parser::write() returning status; main() catching errors from Parser::parseInputFile() and Parser::write() 2010-05-11 15:14:56 -04:00
Josh Holtrop
1dcde61d10 tmpl updates 2010-05-11 13:02:51 -04:00
Josh Holtrop
90d313721f created "tests" subdirectory infrastructure 2010-05-11 13:02:35 -04:00
Josh Holtrop
2aefd8d4ec moved testinput.I to tests/build/build_test.I 2010-05-11 12:13:21 -04:00
Josh Holtrop
5f8a29d3fa rewrote Parser::write() to begin using tmpl files; added writeDefine() 2010-05-11 12:10:49 -04:00
Josh Holtrop
39c5ebb686 include pcre.h in tmpl/parser.cc 2010-05-11 12:10:20 -04:00
Josh Holtrop
15c5751632 restructured Parser::parseInputFile() a bit and added code-gathering functionality 2010-05-11 11:04:23 -04:00
Josh Holtrop
ec8af293e1 explicitly listed tmpl.h as a dependency of "all" to avoid .dep generation problems 2010-05-11 10:40:31 -04:00
Josh Holtrop
07717ec5ba added tmpl.{cc,h} build rules 2010-05-10 16:56:05 -04:00
Josh Holtrop
3a8d9ca55d token matching loop storing ovector for longest match so the longest-matching token does not need to be re-matched to obtain subpattern match strings 2010-05-07 15:24:50 -04:00
Josh Holtrop
1113cdb7d2 parse() calling pcre_exec() to try to match tokens 2010-05-07 14:37:15 -04:00
Josh Holtrop
67c051c866 expanded parse() to compile all tokens, ready to match them 2010-05-07 13:07:21 -04:00
Josh Holtrop
8cc4edfca3 adding NUL byte to file read in parser 2010-05-06 15:44:40 -04:00
Josh Holtrop
44bf780a42 added read_istream() in tmpl/parser.cc 2010-05-05 15:13:57 -04:00
Josh Holtrop
bfc4fc59c7 generated parse() returns bool status 2010-05-04 16:12:55 -04:00