97 Commits

Author SHA1 Message Date
022d636605 record class names 2018-06-13 00:07:06 -04:00
21e8c6c4ca add class declaration to the parser 2018-06-12 23:57:08 -04:00
153d129111 execute rspec with bundle exec 2018-06-07 23:21:19 -04:00
0efb143e81 update test bundler setup to add source server 2018-06-07 23:09:42 -04:00
c4615e0363 add binary literals 2018-05-30 21:18:03 -04:00
94b65987d4 add test 4 2018-05-30 20:48:28 -04:00
273cdbcbf8 add test 3 2018-05-30 20:45:55 -04:00
ca929b5ecd allow for C99 declarations in for loop 2018-05-30 20:45:21 -04:00
91f63d1f49 show cxlc stderr on nonzero return code 2018-05-30 20:12:31 -04:00
587a612650 return nonzero exit code on parse failure 2018-05-30 20:12:05 -04:00
257b7c45c7 add test 2 2018-05-30 20:03:03 -04:00
fa45ae1f9d ignore test artifacts 2018-05-30 19:53:29 -04:00
0a624c6281 rebuild cxlc before running tests 2018-05-22 23:17:58 -04:00
2dd7ff8560 do not decode escape characters in string literals 2018-05-22 23:15:05 -04:00
27c65b0998 begin on test infrastructure 2018-05-22 23:09:28 -04:00
1418907893 do not invoke compiler; just output .c file 2018-05-22 22:15:39 -04:00
23a92ca9bd pull in getopt; add -o argument to specify output file name 2018-05-20 16:45:43 -04:00
46145fa975 write fewer spaces to C file 2018-05-20 16:27:44 -04:00
e4b7f5335f preserve token order in list nodes 2018-05-20 16:24:05 -04:00
4ab2032c00 use a list instead of a vector for list Nodes 2018-05-20 16:22:12 -04:00
bd52a4c5d5 create C files with ".c" suffix 2018-05-20 16:16:46 -04:00
6217665076 fix adding all tokens to array in an enum_specifier rule 2018-05-20 16:13:35 -04:00
9f2f6be9bb include doublequote characters in string literal token text 2018-05-20 16:11:36 -04:00
db08091cf4 compile the emitted C 2018-05-20 16:09:58 -04:00
2dea7d0bac write C file 2018-05-20 16:04:44 -04:00
2d76d34bc7 begin getting ready to emit C 2018-05-20 15:42:16 -04:00
e1f1bbcbb8 store all parse tree entries in node objects 2018-05-19 22:49:32 -04:00
aca67c1a54 Create some list nodes 2018-05-19 21:31:23 -04:00
eef900bedc allow brace-initialized arrays to be expressions 2018-05-12 20:33:08 -04:00
ba6a7317d1 allow __extension__ to precede expressions 2018-05-12 15:21:02 -04:00
478c053cab support 'LL' integer suffix without 'u' 2018-05-12 15:09:47 -04:00
290c2e343e support __inline__ 2018-05-12 15:03:38 -04:00
e014f94f1f add some gcc builtin float types 2018-05-12 15:02:09 -04:00
32e9d59e58 allow full expressions in attributes, not just primary expressions 2018-05-12 14:58:46 -04:00
f3c1570c1f support __alignof__ expressions like sizeof() 2018-05-12 14:55:39 -04:00
db98fc1c7e Allow anonymous structs/unions within structs/unions 2018-05-12 14:53:18 -04:00
e9931d576b Support __extension__ 2018-05-12 11:57:44 -04:00
6890ac97b5 Support inline/__inline 2018-05-12 11:54:14 -04:00
c5764ed15e allow asm volatile statements 2018-05-12 11:43:07 -04:00
b40f501d2a add asm statements/expressions 2018-05-12 11:41:45 -04:00
c5c0bddc33 Allow multiple consecutive string literals 2018-05-12 10:52:44 -04:00
2c33cccaf7 Allow multiple consecutive __attribute__ blocks 2018-05-09 20:51:22 -04:00
ee0dd63670 add support for __restrict keyword 2018-05-09 20:49:27 -04:00
fa32c9bba6 Allow TYPE_NAME or IDENTIFIER to follow struct/union 2018-05-09 20:27:29 -04:00
aa6ef6b8d6 Add gcc-style attributes to parser 2018-05-09 20:24:12 -04:00
625410faa0 Add some known built-in types to consider as TYPE_NAME tokens instead of IDENTIFIERs 2018-05-09 19:48:42 -04:00
25f7c43d3b lexer: return TYPE_NAME instead of IDENTIFIER for identifiers that were previously typedeffed 2018-05-08 22:16:53 -04:00
0a2e719f2c add list, declarator node types 2018-05-08 22:10:06 -04:00
86c6243053 turn on bison output file to see conflicts 2018-05-08 20:50:26 -04:00
d5ae35df60 introduce TYPE_NAME token type 2018-05-08 20:39:49 -04:00