Commit Graph

137 Commits

Author SHA1 Message Date
Pragmatic Software e17c749ca7 CGrammar: Remove todo comments 2014-07-04 23:45:38 +00:00
Pragmatic Software 4583d85b50 CGrammar: Fix declarations without identifier 2014-07-04 23:41:54 +00:00
Pragmatic Software 9b93a33acf CGrammar improvements:
- show return type if _Noreturn function has type other than void
  - improve translation of function body
  - replace "Let `i` be an int" with "Declare `i` as an int"
2014-07-04 12:18:59 +00:00
Pragmatic Software 1f3533bf76 CGrammar: support inline and _Noreturn function specifiers 2014-07-04 11:09:58 +00:00
Pragmatic Software e1ed0bb6b9 CGrammar: replace `parameters` with `arguments` where appropriate 2014-07-04 08:20:01 +00:00
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 aca698374c CGrammar: Correct beautification regex for "the a" 2014-07-01 19:07:44 +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 5d9b45661d CGrammar: Correct handling of empty string literals during beautification 2014-06-28 14:49:59 +00:00
Pragmatic Software 086d5059b1 CGrammar: Move output beautification to c2eng.pl; white-out string literals before beautifying 2014-06-28 14:41:50 +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 95949153e0 CGrammar: Change "is true" to "is nonzero" 2014-06-24 05:38:59 +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 c1de5f6c97 CGrammar: Show bad parse error to users 2014-06-22 06:11:11 +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
Pragmatic Software 78419de052 CGrammar: Improve logic of precompiling grammar 2014-06-15 15:42:20 +00:00
Pragmatic Software 7f84708a5e CGrammar: add support for precompiling grammar 2014-06-15 04:28:54 +00:00
Pragmatic Software 9389edd2df CGrammar: Optimize postfix_expression rule and fix function definitions 2014-06-15 03:57:27 +00:00
Pragmatic Software 2dba87f453 CGrammar: Optimize preproc rules 2014-06-15 01:09:06 +00:00
Pragmatic Software 632a9582d5 CGrammar: Improve and optimize conditional_expression rule; improve translation of parenthetical expressions 2014-06-15 00:46:49 +00:00
Pragmatic Software bf9586b6a8 CGrammar: Improve labels and goto 2014-06-14 19:13:53 +00:00
Pragmatic Software 392cbfb5d1 CGrammar: Improve switch/case/break/label 2014-06-14 18:41:55 +00:00
Pragmatic Software c2b4d5cb19 CGrammar: Now parses int *a[10] and int (*a)[10] and such 2014-06-14 17:54:20 +00:00
Pragmatic Software 9597833b32 CGrammar: Function prototypes can appear in delcaration section 2014-06-12 14:19:39 +00:00
Pragmatic Software 0f5dbeda7a CGrammar: Improve chained assignment 2014-06-12 13:23:03 +00:00
Pragmatic Software c6e893a4fa CGrammar: Improve arrays and fix array initialization 2014-06-12 13:13:45 +00:00
Pragmatic Software e29bd99b42 CGrammar: Improve casting, for/do loops and assignment from function result 2014-06-12 12:23:16 +00:00
Pragmatic Software df1fa14b2a CGrammar: Fix array translation text 2014-06-11 12:50:16 +00:00
Pragmatic Software 026db04e4a CGrammar: Remove some redundant returns 2014-06-11 08:54:12 +00:00
Pragmatic Software 992dae043f CGrammar: Fix /* comment */ regex, minor improvement to while loop, need to fix arrays 2014-06-11 08:29:58 +00:00
Pragmatic Software 5c8b845e6d CGrammar: Fix character-literal and string-literal regexs; add more character-literal constants 2014-06-11 07:42:16 +00:00
Pragmatic Software d8703faf0e CGrammar: Fix #elif and function prototypes 2014-06-10 21:12:09 +00:00
Pragmatic Software 27dd491fe6 CGrammar: Improve initializations 2014-06-10 17:01:43 +00:00
Pragmatic Software 929d9368fe CGrammar: Fix function call results and improve character constants 2014-06-10 08:50:19 +00:00
Pragmatic Software c4fd8a964f CGrammar: Fix preprocessor and improve for-loops 2014-06-10 06:05:14 +00:00
Pragmatic Software 9992119b11 CGrammar: Improve enumeration translation 2014-06-09 10:18:26 +00:00
Pragmatic Software ffab2c6f3b CGrammar: fix enumerations, improve for-loops and comma operators 2014-06-09 10:00:13 +00:00
Pragmatic Software ec1fd207a6 CGrammar: fix conditional statement, improve structures and do-while loop 2014-06-08 15:59:43 +00:00
Pragmatic Software 6641bc3cf2 More progress on CGrammar.pm 2014-06-08 13:51:29 +00:00
Pragmatic Software ca91e34a25 CGrammar: Significantly improve indentation; minor textual improvements 2014-06-08 06:34:55 +00:00
Pragmatic Software 8e818baa52 Rename global_var_declaration to external_declaration 2014-06-07 13:02:50 +00:00
Pragmatic Software 730120be36 Rough-draft work-in-progress alpha of new C-to-English module 2014-06-07 13:00:07 +00:00