summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
* expr: add missing modulo operationJari Vetoniemi2018-09-28
|
* compiler: print the ast tree more nicelyJari Vetoniemi2018-09-27
|
* compiler: make endianess a filterJari Vetoniemi2018-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 tooJari Vetoniemi2018-09-27
| | | | rename collapsestr and collapse to just stream
* compiler: implement enum countingJari Vetoniemi2018-09-27
|
* implement the binary number typeJari Vetoniemi2018-09-27
|
* share lex blocks between functions and referencesJari Vetoniemi2018-09-26
|
* types.lm: use lex blocksJari Vetoniemi2018-09-26
| | | | So the matcher wont include the tokens used by other tokens
* New makefileJari Vetoniemi2018-09-26
|
* fix some parsing bugsJari Vetoniemi2018-09-26
|
* remove type::name add endianess supportJari Vetoniemi2018-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 outputJari Vetoniemi2018-09-26
|
* More parsing fixes for the fspec files I haveJari Vetoniemi2018-09-26
|
* Print out select expression informationJari Vetoniemi2018-09-26
|
* Add some commentsJari Vetoniemi2018-09-26
|
* Fix some parsing mistakesJari Vetoniemi2018-09-26
|
* Goodbye C compiler, hello colm compilerJari Vetoniemi2018-09-26
|
* tmpJari Vetoniemi2018-02-23
|
* xi2path: Cast before snprintfJari Vetoniemi2018-02-23
| | | | | Make sure results are unsigned Found by cppcheck
* wipJari Vetoniemi2018-02-23
|
* lexer.rl: hex can be as long as we wantJari Vetoniemi2018-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 errorJari Vetoniemi2018-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 matchingJari Vetoniemi2018-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 somethingJari Vetoniemi2017-12-07
|
* Add assert to tell compiler wrong behaviour is UDHEADmasterJari Vetoniemi2017-10-01
|
* s/s32/s64/Jari Vetoniemi2017-08-15
|
* ragel.rl: Add some asserts to confirm inputJari Vetoniemi2017-05-07
| | | | Just some hardening: p should always be equal or behind pe.
* ragel.rl: Make search_err read "p" before stopJari Vetoniemi2017-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 memberJari Vetoniemi2017-05-03
|
* validator.rl: Allow multiple filtersJari Vetoniemi2017-05-02
|
* dump.c: Align to_hex to at least 2 charsJari Vetoniemi2017-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 columnJari Vetoniemi2017-05-01
|
* dump.c: More compact hex dumpingJari Vetoniemi2017-05-01
|
* work in progressJari Vetoniemi2017-05-01
|
* Initial commitJari Vetoniemi2017-04-13