Commit Graph

111 Commits

Author SHA1 Message Date
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 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 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 9c5b307bef compiler_vm: Fix #include parsing logic against mismatched #include <foo" tokens 2014-07-04 13:04:27 +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 8e07eb300e compiler_vm: add -Wshadow; support -include 2014-05-02 00:43:42 +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 76cd4965f1 compiler_vm: allow ()'s around function identifiers; e.g. int (main)(void) {} 2014-04-26 15:17:11 +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 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 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 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 b7b9ce76ca Fix potential infinite loop due to not restoring pos value after regex 2013-10-25 07:33: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 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