Commit Graph

75 Commits

Author SHA1 Message Date
Pragmatic Software 8b626cc81e CGrammar: Wrap struct/union member declaration list with commas to disambiguate nested structs/unions 2014-07-04 02:58:55 +00:00
Pragmatic Software 8b72c03d34 CGrammar improvements:
- periods after "Call the function" and "Result of the function"
  - conditional operator in assignment expression now says "otherwise the value"
  - struct members now use "`identifer` as type" in declarations
  - fix chained designated initializers, e.g. s.i[0] = x and [0][0] = x
  - fix post/pre-incremented/decremented array elements
  - correct positioning of "is nonzero" in multidimensional array locations
2014-07-03 21:33:20 +00:00
Pragmatic Software df5fcbeaaa CGrammar: Add C11 use of type-qualifiers and static in array declarators in function parameter lists 2014-07-02 20:55:50 +00:00
Pragmatic Software 8d38af0d69 CGrammar: Include preprocessor and comments in block items 2014-07-02 18:04:22 +00:00
Pragmatic Software 469e16ce28 CGrammar: Update compound-statements to C11's block-item-list mixing declarations and statements 2014-07-02 17:54:21 +00:00
Pragmatic Software 07f9ef6120 CGrammar: Remove "the list" from initializer lists; restore skipping of whitespace to struct/union/enum specifier 2014-07-02 16:54:02 +00:00
Pragmatic Software 7b42e9220e CGrammar: Fix case where `intx` could be parsed as a declaration instead of an identifier 2014-07-02 16:36:22 +00:00
Pragmatic Software 5eee740cd7 CGrammar: Add designated initializers 2014-07-02 01:32:13 +00:00
Pragmatic Software 73967e0721 CGrammar: Progress on C11 features -- added compound-literals 2014-07-01 18:57:02 +00:00
Pragmatic Software 34def4f9ad CGrammar: Fix ordering of statement vs conditional/expression due to concatenated context 2014-07-01 17:03:07 +00:00
Pragmatic Software d6c20bc051 CGrammar: Put space after if/while/for keywords 2014-07-01 16:21:52 +00:00
Pragmatic Software b66e9502d7 CGrammar: Improve translation of structure postfix productions; concatenate contexts for multiple context 2014-07-01 16:16:40 +00:00
Pragmatic Software f4fdd9f221 CGrammar: Begin adding C11 features; add for-loop init declaration; add C11 keywords to reserved list 2014-06-29 21:13:18 +00:00
Pragmatic Software 5730d56d54 CGrammar: Improvements to translation of comma operator 2014-06-28 10:18:28 +00:00
Pragmatic Software 99aea7fe63 CGrammar: Fix translation of multiple type specifiers, e.g. `long double` no longer becomes `double long` 2014-06-27 11:38:54 +00:00
Pragmatic Software 3a3827fe40 CGrammar: Correct context for translation of "post-incremented" vs "increment by one" 2014-06-27 11:25:45 +00:00
Pragmatic Software 26e8f1552c CGrammar: Improve translation of comma operator; remove redundant $arg{context}s 2014-06-26 07:35:11 +00:00
Pragmatic Software 682e6d2af3 CGrammar: Improve pluralization of arrays/pointers in declarations and improve translation of multiple identifiers in typedefs 2014-06-25 12:01:06 +00:00
Pragmatic Software 669e4e37c2 CGrammar: Fix typedefs 2014-06-25 10:15:12 +00:00
Pragmatic Software b38c6c91c1 CGrammar: Add more types; improve translation of comma operator; track identifiers 2014-06-25 08:19:56 +00:00
Pragmatic Software a232919dca CGrammar: Add more lower-case markers 2014-06-24 08:47:29 +00:00
Pragmatic Software a8320f52f9 CGrammar: Fix structure member access; add lower-case markers 2014-06-24 08:44:28 +00:00
Pragmatic Software 9abf8b6e44 CGrammar: Improve "is true" placement 2014-06-24 05:34:54 +00:00
Pragmatic Software 84ee56a15e CGrammar: Remove under-construction warning and outdated todo list 2014-06-23 11:17:23 +00:00
Pragmatic Software 9bb70278b7 CGrammar: static local variables do not have internal linkage 2014-06-23 11:10:40 +00:00
Pragmatic Software 76faa3f2ca CGrammar: Several fixes and improvements 2014-06-23 08:29:08 +00:00
Pragmatic Software d97f8b2fd6 CGrammar: Return output instead of printing; improve error-handling of misparsed code 2014-06-22 06:08:01 +00:00
Pragmatic Software e9b3d7e255 CGrammar: Fix bit-fields; remove under-construction/work-in-progress notice 2014-06-22 04:50:21 +00:00
Pragmatic Software d4cda2bbc6 CGrammar: Fix some abstract declarators in parameter lists; remove some minor extra whitespace 2014-06-22 02:28:28 +00:00
Pragmatic Software a388994d54 CGrammar: Fix anchoring of `reserved` rule 2014-06-21 06:40:03 +00:00
Pragmatic Software 0b941bf771 CGrammar: Anchor reserved rule to prevent prefix matching 2014-06-21 02:01:38 +00:00
Pragmatic Software 1e2caf2bea CGrammar: Er, *correctly* change parameter declarations from "int `i`" to "`i` as int" 2014-06-21 01:40:55 +00:00
Pragmatic Software f137294429 CGrammar: Change parameter declarations from "int `i`" to "`i` as int" 2014-06-21 01:36:24 +00:00
Pragmatic Software c18af75b63 CGrammar: Fix functions taking function pointer as parameter 2014-06-20 23:16:04 +00:00
Pragmatic Software a501557d35 CGrammar: Support long long suffix on constants; add .0 to floating pointer constants when omitted 2014-06-20 09:12:56 +00:00
Pragmatic Software d7197b6bf6 CGrammar: Replace "constant" with "const" since "constant" has a specific meaning in the C standard 2014-06-20 08:25:15 +00:00
Pragmatic Software 3f545cefdc CGrammar: Fix arrays of function pointers and function pointers returning pointers 2014-06-20 08:05:36 +00:00
Pragmatic Software 476db3d6a9 CGrammar: Several improvements in declarations; progress on pointers to functions 2014-06-20 07:43:06 +00:00
Pragmatic Software 1272de61fa CGrammar: Fix preproc conditionals 2014-06-19 05:16:46 +00:00
Pragmatic Software f898580d33 CGrammar: Fix `int const i` to translate to `constant int i` instead of `int constant i` 2014-06-18 22:31:56 +00:00
Pragmatic Software 7590644422 CGrammar: Improve conditional operator translation 2014-06-18 01:08:19 +00:00
Pragmatic Software 8f5e4c9e88 CGrammar: change "pointer to a" to "pointer to" 2014-06-18 00:20:43 +00:00
Pragmatic Software 987de3f38c CGrammar: Oops, pointers are read right-to-left -- fixed const pointers again 2014-06-18 00:14:16 +00:00
Pragmatic Software 861f095829 CGrammar: Fix const pointers 2014-06-17 23:51:55 +00:00
Pragmatic Software dfb7ca0abd CGrammar: Move bit-field to declarator so they can be declared in lists like int a[5], b:5 2014-06-17 23:33:34 +00:00
Pragmatic Software b2a0963abb CGrammar: Improve array translation and fix pointer pluralization 2014-06-17 23:12:02 +00:00
Pragmatic Software 77f1005e03 CGrammar: Fix struct member declarations, pluralize "pointers to" when applicable 2014-06-17 18:20:13 +00:00
Pragmatic Software c40fd81bb0 CGrammar: Add dash between bitwise operators, .e.g. "bitwise ORed" becomes "bitwise-ORed" 2014-06-16 21:23:19 +00:00
Pragmatic Software b0ce2d422e CGrammar: Improve structures and constant literals 2014-06-16 21:13:30 +00:00
Pragmatic Software c205d348e7 CGrammar: Significantly improve postfix expressions, remove basics objects 2014-06-16 02:31:13 +00:00