3
0
mirror of https://github.com/pragma-/pbot.git synced 2024-10-01 17:16:39 +02:00
Commit Graph

651 Commits

Author SHA1 Message Date
Pragmatic Software
d473c1650b Add options conditional on whether code is being pasted 2015-01-17 04:41:50 -08:00
Pragmatic Software
9dfe67c7b3 Add missing C89 includes 2015-01-17 04:40:00 -08:00
Pragmatic Software
0afaf9eb1b Show usage if no code given 2015-01-17 04:39:19 -08:00
Pragmatic Software
c4c325085a Update clang options 2015-01-16 22:40:49 -08:00
Pragmatic Software
e8fc3e965d Improve output filtering; show line-numbers in pastes 2015-01-16 22:24:54 -08:00
Pragmatic Software
c40fc622ff Remove -fsanitize=address because it interfered with showing locals 2015-01-16 22:24:26 -08:00
Pragmatic Software
999ec05afc Show cmdline in pastes 2015-01-16 22:23:28 -08:00
Pragmatic Software
b7fe220152 Add the Brainfuck language to compiler_vm 2015-01-16 17:56:28 -08:00
Pragmatic Software
f552695393 Remove errant addition of backup file 2015-01-16 17:31:01 -08:00
Pragmatic Software
1a1f8f8e63 Correct handling of no-output 2015-01-16 17:30:09 -08:00
Pragmatic Software
e0359cba32 Update TenDRA output postprocessing and default options 2015-01-16 17:29:41 -08:00
Pragmatic Software
925f2292e0 Correct handling of no-output 2015-01-16 17:28:38 -08:00
Pragmatic Software
16dce2c484 Add -info standard option to show cmdline information 2015-01-15 22:00:20 -08:00
Pragmatic Software
45e403b51f Add support for TenDRA compiler 2015-01-15 21:21:40 -08:00
Pragmatic Software
77e95a69ae Remove debug message 2015-01-15 21:21:20 -08:00
Pragmatic Software
ac8dadb7f7 Show supported languages when invalid language given 2015-01-15 21:20:34 -08:00
Pragmatic Software
b3081b9e9f Add compiler_vm support for clang
Also renamed c11.pm to _c_base.pm and set the C languages to inherit
from _c_base.pm instead of c11.pm.
2015-01-15 01:21:18 -08:00
Pragmatic Software
bfd373814c Set compiler_watchdog.pl breakpoint one previous end of main
The clang compiler doesn't generate debug info for line number at the
closing } bracket terminating the main function.

Setting the breakpoint to the line immediately before that works for
gcc and clang.
2015-01-15 01:18:35 -08:00
Pragmatic Software
b6b90ffa49 Significantly refactor compiler_vm module
The compiler_vm module has been significantly refactored into distinct
modules in order to better facilitate the addition of other languages
and compilers.

Currently there is support for C89, C99 and C11 using gcc, as well as
support for Perl.

This is an initial work-in-progress commit and there are still some minor
rough edges to polish up.
2015-01-14 21:51:17 -08:00
Pragmatic Software
6f3d5f3179 Allow case-insensitive section-matching in c99std/c11std 2015-01-06 15:35:40 -08:00
Pragmatic Software
4116afb86d Improve text search in c99std/c11std modules
Regular expression special characters are now escaped.
A trailing word-boundary is added to limit results to exact matches.
2014-12-29 23:24:54 -08:00
Pragmatic Software
f9e2c3fb49 CJeopardy improvements
- Reduce hint wait-period from 60 seconds to 30 seconds
- Improve ignoring of common leading words in answers
- Correct several grammar mistakes/typos in questions
2014-12-29 23:19:32 -08:00
Pragmatic Software
ba59edb040 Update paren.py module to improve parentheses verbosity 2014-12-20 19:44:40 +00:00
Pragmatic Software
79796f9710 CGrammar: Add istrue to static assertion expression; add ability to customize istrue truthiness result, add isfalse 2014-09-19 04:17:37 +00:00
Pragmatic Software
9d3c8c0285 CGrammar: Correct translation of sizeof in static assertions 2014-09-19 03:54:13 +00:00
Pragmatic Software
da352f64d7 compiler_vm: Save command-line args and compiler flags to history; handle \b properly; other misc fixes 2014-09-11 13:37:41 +00:00
Pragmatic Software
2529d49aac CGrammar: Remove excessive "result of the expression" for parenthesized expressions 2014-09-09 07:20:42 +00:00
Pragmatic Software
d40361a2bf Disallow ?, [, ], and ~~ in math.pl 2014-08-31 20:27:40 +00:00
Pragmatic Software
fa2e3e4b5d Dump LWP error text if get_title.pl fails to fetch webpage 2014-08-31 20:26:24 +00:00
Pragmatic Software
838f232d68 Update C Jeopardy questions 2014-08-31 20:24:08 +00:00
Pragmatic Software
a5ede3307e Update C facts module 2014-08-31 20:23:27 +00:00
Pragmatic Software
021401b538 C Jeopardy: Show correctness percentage when an answer is almost correct; recommend #cjeopardy channel when attempting to play via /msg 2014-08-31 20:21:09 +00:00
Pragmatic Software
749fda0ff3 Add HHGTTG easter egg to math.pl 2014-08-13 16:55:04 +00:00
Pragmatic Software
c03a1288b6 CGrammar: Fix a|an substitution to an|a 2014-08-10 05:31:29 +00:00
Pragmatic Software
527e8490a3 CGrammar: Add offsetof 2014-08-10 05:03:37 +00:00
Pragmatic Software
74cffe091c C Jeopardy: More improvements to question database 2014-08-04 21:51:23 +00:00
Pragmatic Software
18d245cf10 C Jeopardy: Now says "Too slow!" if someone else also answers the correct answer within 15 seconds 2014-08-04 06:25:56 +00:00
Pragmatic Software
7d6e505d9f C Jeopardy: Clean up some typoes in the questions 2014-08-04 05:20:28 +00:00
Pragmatic Software
bf9fe32682 C Jeopardy: Fix and clean-up some questions; fix substitution if "is" in answers 2014-08-04 00:35:41 +00:00
Pragmatic Software
4bf78bf978 C Jeopardy: Add tons of new questions; add support for supplemental tidbits; don't obscure dashes and underscors in hints 2014-08-03 22:20:54 +00:00
Pragmatic Software
55bdc5b930 Enforce CPU limit on expand_macro module 2014-08-03 22:02:36 +00:00
Pragmatic Software
bc871bf4b2 C facts: Improve generation of C facts; update cfacts.txt with new facts 2014-08-02 16:01:51 +00:00
Pragmatic Software
9651847165 C Jeopardy: Correct showing of text/answer in "close enough" output due to recent change in handling of typographical case 2014-07-29 20:21:06 +00:00
Pragmatic Software
236b4c1d06 C Jeopardy: Add time-limit to hints 2014-07-29 20:07:48 +00:00
Pragmatic Software
88dc009ae7 C Jeopardy: Show correct typographical case for answers 2014-07-29 19:00:06 +00:00
Pragmatic Software
d49700d1e1 C Jeopardy: Add hint command to slowly reveal answer when stumped 2014-07-29 17:30:12 +00:00
Pragmatic Software
2d0a490ed2 C Jeopardy: Fix minor inconsequential typo 2014-07-28 16:28:11 +00:00
Pragmatic Software
00fd1eee89 C Jeopardy: Update question data with additional acceptable answers 2014-07-28 15:56:13 +00:00
Pragmatic Software
9978f0c793 C Jeopardy: Add shuffler to preventing repeating questions 2014-07-28 15:25:54 +00:00
Pragmatic Software
1f8445d3bc C Jeopardy: Add time-limit to cjeopardy command. The current question will be shown if within this time-limit, otherwise a new question is shown 2014-07-28 07:45:05 +00:00
Pragmatic Software
4b2abf316f Add C Jeopardy module 2014-07-28 04:29:05 +00:00
Pragmatic Software
cf63d9d46a compiler_vm: maintain original ordering of statements before, after and between functions instead of shoving everything to the top or into main 2014-07-23 21:27:09 +00:00
Pragmatic Software
491b4243ad More clean-up of C facts 2014-07-23 20:16:10 +00:00
Pragmatic Software
d266e04284 More clean-up of C facts 2014-07-22 09:45:36 +00:00
Pragmatic Software
978c6b1f9d Fix typo in C facts: simple -> simply 2014-07-22 03:10:10 +00:00
Pragmatic Software
c04896aa32 Fix up a couple more C facts misparses 2014-07-22 03:08:56 +00:00
Pragmatic Software
d90c845a3b Clean-up some misparsed C facts 2014-07-22 02:14:44 +00:00
Pragmatic Software
bcf76471c8 Add cfact module 2014-07-22 01:46:16 +00:00
Pragmatic Software
da7a827c01 CGrammar: Add "result of the expression" to assignment expressions with spaces; remove extraneous trailing "Do nothing" 2014-07-21 21:27:22 +00:00
Pragmatic Software
de375e63a1 CGrammar: Add _Generic; fix issue with compound-literals 2014-07-21 07:11:11 +00:00
Pragmatic Software
fd89a4d0f4 CGrammar: Correct placement of "to" in conditional operator; restore "Begin block" and "End block" for nested compound statements 2014-07-18 03:52:16 +00:00
Pragmatic Software
3e47f6bc58 CGrammar: Emit "Do nothing" for empty case statements 2014-07-18 00:39:06 +00:00
Pragmatic Software
7f293450ef CGrammar: Fix for loop init and break statement 2014-07-17 19:04:09 +00:00
Pragmatic Software
a59cc20128 CGrammar: Improve if/else in switch block, and improve "Fall through to next case" 2014-07-17 18:51:29 +00:00
Pragmatic Software
af8787797a CGrammar: Improve translation of switch/case block 2014-07-17 18:36:09 +00:00
Pragmatic Software
46a0184791 CGrammar: Translate ' ' to "a space"; touch up translation of "the result of the expression the result of the function" to just "the result of the function" 2014-07-16 13:36:40 +00:00
Pragmatic Software
ed73046d6b CGrammar: Limit "the result of the expression" to initializer expressions; improve grammar of bitwise assignments 2014-07-15 07:27:34 +00:00
Pragmatic Software
2a8d9152f5 CGrammar: Improve handling of "the result of the expression" 2014-07-13 06:36:55 +00:00
Pragmatic Software
b2114ca03f CGrammar: Concatenate adjacent string literals 2014-07-11 11:30:05 +00:00
Pragmatic Software
69eca9a336 CGrammar: Change "Repeatedly never" to "Never repeatedly" 2014-07-10 13:13:57 +00:00
Pragmatic Software
bea4480cf3 CGrammar: Fix handling 0 as conditional in for loop 2014-07-10 13:11:13 +00:00
Pragmatic Software
38b6edf656 CGrammar: Fix passing 0 as argument to function 2014-07-10 12:35:33 +00:00
Pragmatic Software
5f9fb29e7e CGrammar: Add some missing lowercasing specifiers 2014-07-10 12:24:29 +00:00
Pragmatic Software
fab1986a3e CGrammar: Do not use "result of the expression" for single terms 2014-07-10 01:23:19 +00:00
Pragmatic Software
4520be1a2c CGrammar: Improve translation of initializer expressions such as int i = 'a' > 'b'; 2014-07-09 09:19:49 +00:00
Pragmatic Software
de3493f1ca CGrammar: Do not use "an" for items beginning with 'y'; improve translation of array of array indices 2014-07-08 05:24:21 +00:00
Pragmatic Software
029cc1ec7a CGrammar: Improve handling of space seperator in declaration initializers; fix issue with typedefs starting with a type specifier 2014-07-08 03:28:51 +00:00
Pragmatic Software
0c8078c6db CGrammar: Don't pluralize "member" for structs with a single function pointer 2014-07-08 01:15:51 +00:00
Pragmatic Software
cc0957b060 CGrammar: Improve handling of declarations and initializers; improve translation of sizeof in statement context 2014-07-08 00:33:50 +00:00
Pragmatic Software
4a646f61c9 CGrammar: correct order of sizeof unary expressions 2014-07-07 10:24:15 +00:00
Pragmatic Software
fbfc390b0c CGrammar: _Static_assert: use "unless" instead of negating the condition 2014-07-07 09:48:25 +00:00
Pragmatic Software
6295b0f503 CGrammar: Add _Atomic 2014-07-07 09:15:46 +00:00
Pragmatic Software
d244af52d8 CGrammar: Improve _Static_assert translation 2014-07-07 08:39:06 +00:00
Pragmatic Software
b470359071 CGrammar: Add _Static_assert 2014-07-07 08:27:10 +00:00
Pragmatic Software
9623086310 CGrammar: Add C11's _Alignof 2014-07-07 06:45:50 +00:00
Pragmatic Software
162e264e82 CGrammar: Remove left-over debugging statements 2014-07-06 04:49:10 +00:00
Pragmatic Software
8de131b871 CGrammar: Support C11's _Alignas; improve handling of comments in declaration specifiers 2014-07-06 04:47:07 +00:00
Pragmatic Software
520d1a2c9c CGrammar: Support flexible array struct members; fix up minor whitespace issue 2014-07-05 05:11:07 +00:00
Pragmatic Software
5b10d9769e CGrammar: Correct order of pointer abstract declarator -- now parses int *[] properly 2014-07-05 04:39:35 +00:00
Pragmatic Software
c638b2c993 CGrammar: Fix shebangs to use env to detect perl location 2014-07-05 00:04:15 +00:00
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
9c5b307bef compiler_vm: Fix #include parsing logic against mismatched #include <foo" tokens 2014-07-04 13:04:27 +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
d320d5e04a Fix compliment module 2014-07-02 20:54:17 +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
83d0d862f5 c2english.pl: Improve code parsing/function extraction 2014-06-10 14:29:16 +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
Pragmatic Software
6740522fae Improve cdecl usage message 2014-06-05 21:45:25 +00:00
Pragmatic Software
a6b66cb351 Add rpn module 2014-06-04 00:21:48 +00:00
Pragmatic Software
2cb5d60b51 compiler_vm: Convert exit code from octal to decimal; add variables to easily change opening/closing brackets; experiment with using whitespace instead of <> 2014-05-31 16:36:37 +00:00
Pragmatic Software
0302a5328a compiler_vm: Add Win32 named-pipe TCP proxy program 2014-05-31 01:24:22 +00:00
Pragmatic Software
62e11d0b5d compiler_vm: add Win32 VirtualBox server; misc improvements 2014-05-31 01:20:31 +00:00
Pragmatic Software
ae1842e3db compiler_vm: Improve a couple of output sanitization regexs 2014-05-08 13:07:24 +00:00
Pragmatic Software
af447c2614 More nickometer tweaks 2014-05-02 03:57:19 +00:00
Pragmatic Software
8e07eb300e compiler_vm: add -Wshadow; support -include 2014-05-02 00:43:42 +00:00
Pragmatic Software
c1fa37f982 Tweaks to nickometer module 2014-05-01 23:20:15 +00:00
Pragmatic Software
a0b0cb8a74 Add nickometer module 2014-05-01 03:40:56 +00:00
Pragmatic Software
cebcafba70 Do not allow RE2 to fallback to PCRE 2014-04-29 17:00:51 +00:00
Pragmatic Software
595e6a34d2 Use DFA regex engine on user-supplied regexs to avoid potential denial-of-service attacks 2014-04-28 17:20:01 +00:00
Pragmatic Software
96c57d80e5 Minor updates to various modules 2014-04-26 15:22:46 +00:00
Pragmatic Software
76cd4965f1 compiler_vm: allow ()'s around function identifiers; e.g. int (main)(void) {} 2014-04-26 15:17:11 +00:00
Pragmatic Software
fc1e372908 Update C-Faq module to use latest questions and links 2014-04-22 15:10:10 +00:00
Pragmatic Software
08e300bd54 compiler_vm: bump "Same output" length case to 22 to allow repetitions of "Success (no output)" 2014-04-07 07:24:14 +00:00
Pragmatic Software
f347c6d1e3 Update man.pl to use newer manpage, and minor formatting fixes 2014-04-07 05:12:00 +00:00
Pragmatic Software
736056b586 compiler_vm: Don't display "Same output" unless length of output is greater than 10 characters 2014-04-03 07:54:35 +00:00
Pragmatic Software
8a7c539e0f compiler_vm: print "Same output" only if same output is within 10 minutes of last snippet otherwise print actual output again 2014-04-03 07:47:19 +00:00
Pragmatic Software
b2544d9d5a compiler_vm: remember last output per channel and print "Same output." if the current output matches the last output 2014-04-02 23:48:43 +00:00
Pragmatic Software
1ec463f021 compiler_vm: Remember last keyword when chaining together "and" statements in editor
This allows the more natural "replace 'a' with 'b' and 'c' with 'd'" syntax
rather than the previous syntax of "replace 'a' with 'b' and replace 'c' with 'd'"
2014-04-02 00:23:14 +00:00
Pragmatic Software
474f7ed168 Remove compiler_vm ability to execute .gdbinit commands 2014-03-24 15:37:54 +00:00
Pragmatic Software
f13adc1500 Fix derp in math.pl 2014-03-24 03:10:08 +00:00
Pragmatic Software
cb6d811ba2 Minor improvements to math.pl 2014-03-24 03:05:48 +00:00
Pragmatic Software
2a933bff87 Improve math.pl to support specific math functions (e.g., sqrt, etc) 2014-03-24 02:25:37 +00:00
Pragmatic Software
ee3fddf1eb expand_macros.pl doesn't require a nick argument any longer, correct ARGV count 2014-03-22 18:52:54 +00:00
Pragmatic Software
bff786666e compiler_vm: Add more standard headers to default set of includes 2014-03-06 21:52:44 +00:00
Pragmatic Software
bc261e0965 compiler_vm: Add ability to show/diff/copy another channel's snippet 2014-03-05 19:58:46 +00:00
Pragmatic Software
a5ae7478e1 compiler_vm: Add $channel argument to separate snippet history into per-channel/nick files 2014-03-04 21:40:51 +00:00
Pragmatic Software
818ad29914 Remove need to pass nick as command-line parameter to expand/paren modules (use add_nick factoid metadata) 2014-03-04 10:43:28 +00:00
Pragmatic Software
f4275a4cc8 compiler_vm: more compiler output beautification 2014-03-01 20:25:42 +00:00
Pragmatic Software
4d0e23243b compiler_vm: minor beautification of compiler diagnostic output 2014-03-01 14:42:08 +00:00
Pragmatic Software
80a7a82221 Remove extranous flushall from compiler watchdog 2014-02-28 07:52:28 +00:00
Pragmatic Software
e72a8c04a2 Remove use of compiler output merger 2014-02-28 07:48:27 +00:00
Pragmatic Software
7a99175bd7 compiler_vm updates
- make compiler_output_merger.pl more resistant to being killed
  - support gcc 4.9.0's -fdiagnostics-show-caret 
    (disable in channel, enable in paste)
  - force a newline to be added to program output to prevent output
    from being buffered by output merger
2014-02-27 16:31:31 +00:00
Pragmatic Software
aa00540c8d compiler_vm: Hack to ensure gdb and prog streams are output in the correct order 2014-02-25 11:49:21 +00:00
Pragmatic Software
d66d3d2a31 compiler_vm: Add constants to easily customize time-out and nographic options in compiler_server.pl 2014-02-25 11:47:57 +00:00
Pragmatic Software
0b2b18d93a compiler_vm: separate program output and gdb output in watchdog to prevent crossing the streams 2014-02-25 05:40:44 +00:00
Pragmatic Software
f6edfce6b4 compiler_vm: Use random fortune instead of Ipsum for default input 2014-02-24 07:25:50 +00:00
Pragmatic Software
7388bf9cfc Add heartbeat logic to compiler server to detect when vm is booted (prevents unnecessary vm restarts) 2014-02-23 00:56:51 +00:00
Pragmatic Software
38fb275234 Fix error message for bad search term within paragraph in c99std/c11std 2014-02-22 02:42:25 +00:00
Pragmatic Software
29316b23ba Update c2english with -f force option, and hide certain errors 2014-02-05 01:13:16 +00:00
Pragmatic Software
0f2616a552 Update paren module to handle ternary conditional operator 2013-12-23 08:48:24 +00:00
Pragmatic Software
8adc766dc4 Improve paren/prec module 2013-12-01 13:36:21 +00:00
Pragmatic Software
9c1a077d2e Allow expand_macros.pl to #include stuff to expand 2013-11-28 05:36:41 +00:00
Pragmatic Software
b042e073db Remove #include from expand_macros.pl input 2013-11-28 05:25:54 +00:00
Pragmatic Software
2323bb89bb Add expand_macros.pl module 2013-11-28 05:11:54 +00:00
Pragmatic Software
de89ca61a2 Add n1256.out and n1570.out 2013-11-18 15:00:14 +00:00
Pragmatic Software
ac6d913290 Update parens.py with edk's simplification of parentheses verbosity logic 2013-11-14 17:33:11 +00:00
Pragmatic Software
936d45e04e Improve verbosity of parenthesized precedence in parens module 2013-11-14 15:21:52 +00:00
Pragmatic Software
805215ce81 Add paren.py module (shows precedence of expressions by adding parentheses)
TODO: Add 'show_nick' factoid/module key so nickname logic doesn't need to be
      added to module sources
2013-11-14 06:29:22 +00:00
Pragmatic Software
b7b9ce76ca Fix potential infinite loop due to not restoring pos value after regex 2013-10-25 07:33:43 +00:00
Pragmatic Software
111847340e Make c2english output slightly more clean 2013-10-19 18:42:05 +00:00
Pragmatic Software
c6e67200c1 Run code through gcc for syntax checking before attempting to parse to english 2013-10-19 17:56:43 +00:00
Pragmatic Software
32385ec691 Fix wrong quote-type for #include derp 2013-10-12 16:35:23 +00:00
Pragmatic Software
174e7f71e4 Fix issues with quoted literals and #include statement 2013-10-11 14:50:29 +00:00
Pragmatic Software
272e13236f Preserve empty lines in source 2013-10-07 05:03:03 +00:00
Pragmatic Software
dc1390fca2 Improve formatting 2013-09-16 10:35:32 +00:00
Pragmatic Software
d739415a29 Fix show/undo/replace/etc (need args stripped first); undo once again updates last-code record 2013-09-13 11:32:15 +00:00
Pragmatic Software
2720071dbd compiler_vm:
Add compiler flags section to web-pasted output
  Clean up output section in web-pasted output
  Save cc-specific flags (-paste, -nomain, etc) to last-code
2013-09-13 11:03:50 +00:00
Pragmatic Software
8d882a4240 compiler_vm: -paste and -nomain arguments no longer need to be first arguments; fix issue with replace command 2013-09-13 09:29:24 +00:00
Pragmatic Software
a6a3129171 Preserve comments in code/paste 2013-08-27 12:49:14 +00:00
Pragmatic Software
522b9770dd compiler_vm:
Fix comment stripping logic regarding C89 comments versus C99 comments in code like `int i = 10 //**/ 2\n;`
  Code history now includes argument flags
  Improved regex parsing of diff tags
2013-08-27 00:42:17 +00:00
Pragmatic Software
4adedc2a90 Show "No difference." when code is the same in cc diff 2013-08-24 15:01:31 +00:00
Pragmatic Software
cb74a9be1e Improved matching of tags in cc diff to be less greedy 2013-08-23 22:26:32 +00:00
Pragmatic Software
e6ae49fd4f Improve handling of spaces in cc diff 2013-08-23 18:26:43 +00:00
Pragmatic Software
36e48cb703 Added cc diff command 2013-08-22 20:41:54 +00:00
Pragmatic Software
0e783365d1 Misc updates to modules/compiler_vm 2013-08-16 17:28:17 +00:00
Pragmatic Software
2a62729fcc Fix potential infinite loop in "replace all"; show line numbers in diagnostics if using "-paste"; other misc fixes 2013-06-17 22:25:05 +00:00
Pragmatic Software
8d6c2587a8 Show number of matching quotes only if more than one match 2013-06-09 00:04:20 +00:00
Pragmatic Software
8586038f03 Misc updates 2013-06-03 17:04:24 +00:00
Pragmatic Software
f512efd6cc Update get_title.pl to use Levenshtein matching on URLs/titles in order to avoid displaying titles that are similiar to URLs 2013-06-03 17:02:58 +00:00
Pragmatic Software
dc52430044 Add SSL support, and other misc updates 2013-02-25 02:27:24 +00:00
Pragmatic Software
57166ff734 compiler_vm: Handle --version flag 2013-02-05 11:14:19 +00:00
Pragmatic Software
3d492ed76b Allow function argument list to be empty; e.g., int main() { code } 2013-02-01 23:35:11 +00:00
Pragmatic Software
e846f24716 Rename -naked to -nomain; fix issue with function prototypes 2012-12-30 08:14:27 +00:00
Pragmatic Software
9205736b3f Don't add {}'s around single statements following if/for/etc; add -naked flag to prevent wrapping code with a main function 2012-12-29 16:19:51 +00:00
Pragmatic Software
e93ac26062 compiler_vm: Warn about #defines not terminated with \n 2012-11-21 19:01:10 +00:00
Pragmatic Software
d5e5f2c728 Reposition * character in function regex to be consistent 2012-11-19 15:57:54 +00:00
Pragmatic Software
c8d77ed230 Replace A-Z0-9_ in function regex with \w to slightly improve readability 2012-11-19 15:52:07 +00:00
Pragmatic Software
a6a2b3eeb3 Minor clean-up of previous commit to remove unnecessary substitutions 2012-11-19 15:45:13 +00:00
Pragmatic Software
1d7791d9a5 compiler_vm: Improve extraction of function parameters containing parentheses 2012-11-18 19:18:56 +00:00
Pragmatic Software
3f771df8bc compiler_vm: added -paste flag to send formatted source/output to paste site and show link instead of output; e.g. cc -paste <code> --> http://somepastesite.com 2012-11-14 18:36:04 +00:00
Pragmatic Software
b8d2d0797e compiler_vm: Show output from program when using paste command
google search: Show "No results found" if no results found
c99std/c11std: Minor clean-up of output
2012-11-02 22:08:20 +00:00
Pragmatic Software
f16dedf680 compiler_vm: add script to mount/umount qcow2 for editing 2012-10-24 12:29:00 +00:00
Pragmatic Software
4602c3b732 compiler_vm: Pass host date to guest
Replace "Killed" with "[Killed]"
             Don't print empty '' after unprintable char values
             Set default language in compiler_client.pl to C11
2012-10-24 12:26:18 +00:00
Pragmatic Software
7f8b39d20a compiler_vm: Limit cpu usage and kill processes using excess cpu 2012-10-07 17:48:18 +00:00
Pragmatic Software
f61bb61aeb Channels: Properly check for arguments to chanadd/chanrem
HashObject: Fix potential divide by zero
compiler_vm: Limit cpu usage and kill processes using excess cpu
             Unbuffer stdout
2012-10-05 01:59:04 +00:00
Pragmatic Software
65660625c2 Added dice_roll.pl module, and updated others 2012-09-18 01:32:07 +00:00
Pragmatic Software
bf91c67346 compiler_vm: improve parsing/function extraction 2012-09-17 07:12:16 +00:00
Pragmatic Software
a0bcdfef2f compiler_vm: improve parsing of cpp and functions (properly handle \n) 2012-09-03 18:48:47 +00:00
Pragmatic Software
7ed26f928e compiler_vm: fix \n after #include directives 2012-09-03 07:02:17 +00:00
Pragmatic Software
a4cf4136ee compiler_vm: Improve handling of \n in quoted literals 2012-09-01 05:20:01 +00:00
Pragmatic Software
ccf1d35a54 Improvements in interpreter; tell <nick> about <command>; etc 2012-08-23 22:50:07 +00:00
Pragmatic Software
09cb762c6f compiler_vm: update client to remove duplicate warnings/infos; typeof('a') should be int; misc output clean-ups 2012-08-18 03:28:10 +00:00
Pragmatic Software
da3e05bc72 Prevent gcc from optimizing away gdb() call 2012-08-16 01:17:28 +00:00
Pragmatic Software
b88c02c3c3 ulimit for core files no longer necessary 2012-08-02 05:02:27 +00:00
Pragmatic Software
f74de0864e Removed unnecessary core ulimit 2012-08-02 04:34:35 +00:00
Pragmatic Software
d5a3d63235 Removed unnecessary debugcommands 2012-08-02 04:34:21 +00:00
Pragmatic Software
8a70c06096 Misc bug fixes and tweaks 2012-07-22 19:22:30 +00:00
Pragmatic Software
dad1bf978e compiler_vm: improved function extraction (missed a spot) 2012-03-21 16:02:02 +00:00
Pragmatic Software
0e957ba414 compiler_vm: improved function extraction 2012-03-21 15:58:07 +00:00
Pragmatic Software
2fc11ea1fd compiler_vm: disregard this commit 2012-03-21 15:54:43 +00:00
Pragmatic Software
5066f348a1 compiler_vm: added support for splint 2012-03-12 03:33:54 +00:00
Pragmatic Software
b30216d8ec compiler_vm: restored stdin input, improved error output, reset vm only on timed-out for improved speed 2012-02-29 01:10:12 +00:00
Pragmatic Software
38166bd14d compiler_vm: reset vm only on time-outs to improve response speed 2012-02-25 08:30:49 +00:00
Pragmatic Software
58a592c86f compiler-vm: use astyle with file instead of stdin to avoid astyle bug; add lorem ipsum default -input text 2012-02-15 22:00:58 +00:00
Pragmatic Software
4e52d77f61 compiler_vm: improved macro parsing; replace newlines outside of quoted text 2012-02-11 05:05:49 +00:00
Pragmatic Software
a2e2d15fc7 compiler_vm: added libc fatal errors; trace program only on signal 2012-02-09 18:48:45 +00:00
Pragmatic Software
11923967cf compiler_vm: watchdog debug output includes commands sent to gdb, fflush stdout on breakpoints 2012-02-04 20:34:55 +00:00
Pragmatic Software
e3ec59322e compiler_vm: watchdog wraps more gdb output with <> 2012-02-04 06:02:52 +00:00
Pragmatic Software
56bd0e9101 compiler_vm: added trace() macro to trace function calls 2012-02-03 17:54:52 +00:00
Pragmatic Software
e2e54079ae compiler_vm: improved abormal signal handling 2012-02-02 18:28:24 +00:00
Pragmatic Software
fd1f18850a compiler_vm: updates (needs refactoring, pronto) 2012-02-02 04:14:38 +00:00
Pragmatic Software
22b43f21bf compiler_vm: updated gdb parsing (still needs refactoring) 2012-01-31 05:32:24 +00:00
Pragmatic Software
d56aaeebca compiler_vm: updated to show local vars if no output, etc 2012-01-29 23:50:33 +00:00
Pragmatic Software
84f2f979a6 compiler_vm: rewrote watchdog to execute within gdb; added dump(), ptype(), watch() macros 2012-01-28 07:39:13 +00:00
Pragmatic Software
2830147338 Added missing encode_entities to c99/c11std generation 2012-01-23 22:33:13 +00:00
Pragmatic Software
59e100a44c Updated c99std and c11std to index footnotes 2012-01-23 22:24:51 +00:00
Pragmatic Software
e5028eded6 Updated genstd.pl and n1256.txt/n1570.txt to improve parsing/detection of unparsed sections 2012-01-17 02:07:01 +00:00