| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | pkg/compiler: add builtin bool type aliases | Dmitry Vyukov | 2018-01-08 | 1 | -2/+2 |
| | | | | | | | | | | | | | | | | | This adds builtin: type bool8 int8[0:1] type bool16 int16[0:1] type bool32 int32[0:1] type bool64 int64[0:1] type boolptr intptr[0:1] We used to use just int's for bools. But bool types provide several advantages: - make true/false probability equal - improve description expressiveness - reduce search space (we will take advantage of this later) | ||||
| * | sys: support type aliases (aka typedefs) | Dmitry Vyukov | 2018-01-08 | 1 | -0/+5 |
| | | | | | | | | | | | | | | | | | | | | | | | Complex types that are often repeated can be given short type aliases using the following syntax: ``` type identifier underlying_type ``` For example: ``` type signalno int32[0:65] type net_port proc[20000, 4, int16be] ``` Then, type alias can be used instead of the underlying type in any contexts. Underlying type needs to be described as if it's a struct field, that is, with the base type if it's required. However, type alias can be used as syscall arguments as well. Underlying types are currently restricted to integer types, `ptr`, `ptr64`, `const`, `flags` and `proc` types. | ||||
| * | pkg/ast: prohibit empty strings | Dmitry Vyukov | 2017-09-04 | 1 | -0/+6 |
| | | | | | This is currently unsupported and unused. | ||||
| * | pkg/ast: fix struct comment parsing | Dmitry Vyukov | 2017-09-04 | 1 | -0/+11 |
| | | |||||
| * | pkg/compiler: move more const-processing code to compiler | Dmitry Vyukov | 2017-08-27 | 1 | -0/+2 |
| | | |||||
| * | pkg/ast: new parser for sys descriptions | Dmitry Vyukov | 2017-08-18 | 1 | -0/+28 |
| The old parser in sys/sysparser is too hacky, difficult to extend and drops debug info too early, so that we can't produce proper error messages. Add a new parser that is build like a proper language parser and preserves full debug info for every token. | |||||
