Commit message (Collapse) | Author | Age | |
---|---|---|---|
* | compiler: save some bytes | Jari Vetoniemi | 2018-10-11 |
| | | | | | When doing IO operation on field, ignore the calculation for field register if index == 0, as the offset is already enough. | ||
* | push for remote work | Jari Vetoniemi | 2018-10-11 |
| | |||
* | expr: parsing fixes | Jari Vetoniemi | 2018-10-07 |
| | |||
* | native.c: micro-optimize operator stack | Jari Vetoniemi | 2018-09-28 |
| | | | | uses less memory | ||
* | native.c: add some asserts and errors | Jari Vetoniemi | 2018-09-28 |
| | |||
* | types: handle raw string bytes | Jari Vetoniemi | 2018-09-28 |
| | |||
* | expr: fix || and && operations | Jari Vetoniemi | 2018-09-28 |
| | |||
* | expr: add missing modulo operation | Jari Vetoniemi | 2018-09-28 |
| | |||
* | compiler: print the ast tree more nicely | Jari Vetoniemi | 2018-09-27 |
| | |||
* | compiler: make endianess a filter | Jari Vetoniemi | 2018-09-27 |
| | | | | | | | | endianess is just a bunch of bitflips anyways syntax for this is harmful as sometimes the files describe endianess itself thus filter is more flexible. Also, make it possible to filter non variable declarations as well. | ||
* | expr: apparently strings are streams too | Jari Vetoniemi | 2018-09-27 |
| | | | | rename collapsestr and collapse to just stream | ||
* | compiler: implement enum counting | Jari Vetoniemi | 2018-09-27 |
| | |||
* | implement the binary number type | Jari Vetoniemi | 2018-09-27 |
| | |||
* | share lex blocks between functions and references | Jari Vetoniemi | 2018-09-26 |
| | |||
* | types.lm: use lex blocks | Jari Vetoniemi | 2018-09-26 |
| | | | | So the matcher wont include the tokens used by other tokens | ||
* | New makefile | Jari Vetoniemi | 2018-09-26 |
| | |||
* | fix some parsing bugs | Jari Vetoniemi | 2018-09-26 |
| | |||
* | remove type::name add endianess support | Jari Vetoniemi | 2018-09-26 |
| | | | | | type::name is too agressive as it clashes with keywords use reference::variable::type and reference::function::type instead | ||
* | Indicate fields with slices in output | Jari Vetoniemi | 2018-09-26 |
| | |||
* | More parsing fixes for the fspec files I have | Jari Vetoniemi | 2018-09-26 |
| | |||
* | Print out select expression information | Jari Vetoniemi | 2018-09-26 |
| | |||
* | Add some comments | Jari Vetoniemi | 2018-09-26 |
| | |||
* | Fix some parsing mistakes | Jari Vetoniemi | 2018-09-26 |
| | |||
* | Goodbye C compiler, hello colm compiler | Jari Vetoniemi | 2018-09-26 |
| | |||
* | tmp | Jari Vetoniemi | 2018-02-23 |
| | |||
* | xi2path: Cast before snprintf | Jari Vetoniemi | 2018-02-23 |
| | | | | | Make sure results are unsigned Found by cppcheck | ||
* | wip | Jari Vetoniemi | 2018-02-23 |
| | |||
* | lexer.rl: hex can be as long as we want | Jari Vetoniemi | 2018-02-23 |
| | | | | | | | | hex expression shared the esc_hex expression before. But esc_hex is limited to 2 hexdecimal characters, and thus poor choice for parsing hexdecimal numbers in source. (This is different from C which allows "n" length hex escapes causing problems when you mix hex escapes with strings for example) | ||
* | ragel.rl: mark anything as error | Jari Vetoniemi | 2018-02-23 |
| | | | | | | | | The word label is mainly meant to define printable and conceated characters. In print_mark we use it to print tail in case we hit the valid* kleene star expression. Otherwise we will just show '^' mark on whatever byte we failed on. This allows to catch semantical failures such as having newlines at wrong place etc.. | ||
* | ragel.rl: better error matching | Jari Vetoniemi | 2018-02-23 |
| | | | | | | Combine tail action into mark. Tokenize on 'space <valid>' or on punctuation. Treat single printable or valid* as word. | ||
* | dump.c: Postcond that we actually read something | Jari Vetoniemi | 2017-12-07 |
| | |||
* | Add assert to tell compiler wrong behaviour is UDHEADmaster | Jari Vetoniemi | 2017-10-01 |
| | |||
* | s/s32/s64/ | Jari Vetoniemi | 2017-08-15 |
| | |||
* | ragel.rl: Add some asserts to confirm input | Jari Vetoniemi | 2017-05-07 |
| | | | | Just some hardening: p should always be equal or behind pe. | ||
* | ragel.rl: Make search_err read "p" before stop | Jari Vetoniemi | 2017-05-07 |
| | | | | | | | | | If we stop before reading the "p" false positive may be returned since "p" may be the start of new token. Thus case like `type: 3u8[4] str;` would fail to mark the real error since '3' is not read. Thus start marking from the last valid token that is ':'. | ||
* | validator.rl: Unused member | Jari Vetoniemi | 2017-05-03 |
| | |||
* | validator.rl: Allow multiple filters | Jari Vetoniemi | 2017-05-02 |
| | |||
* | dump.c: Align to_hex to at least 2 chars | Jari Vetoniemi | 2017-05-01 |
| | | | | | This is to have nice aligned output when outputting byte arrays for example. | ||
* | dump.c: Fix print_array when data ends on 8 column | Jari Vetoniemi | 2017-05-01 |
| | |||
* | dump.c: More compact hex dumping | Jari Vetoniemi | 2017-05-01 |
| | |||
* | work in progress | Jari Vetoniemi | 2017-05-01 |
| | |||
* | Initial commit | Jari Vetoniemi | 2017-04-13 |