Pragmatic Software
03baaeb81c
Refactor handling of --version flags; add --analyze
...
Move handling of certain language-specific flags out of
compiler_vm_server.pl and into their own language modules.
Add support for clang --analyze.
Java now understands -version.
2015-05-18 20:48:15 -07:00
Pragmatic Software
bc99ac001f
Compiler CPU watchdog: print message only when there's load
2015-04-21 01:10:45 -07:00
Pragmatic Software
10c17bd3ad
Add watchdog to monitor VM cpu load and reset for excessive load
...
Detect if VM is running under excessive load (e.g., due to fork bombing)
for longer than a certain period and reset the VM state if so.
2015-04-20 21:33:01 -07:00
Pragmatic Software
ef22f9578d
Move backspace handling to base class for all languages
2015-04-16 03:12:07 -07:00
Pragmatic Software
0d69796e6f
Increase BC_LINE_LENGTH in bc language
2015-04-16 03:11:10 -07:00
Pragmatic Software
c4659cd4cb
Minor cosmetic refactoring of C11 language
2015-04-16 03:10:45 -07:00
Pragmatic Software
766e433d33
Add all standard C++ headers to C++ compiler_vm language
2015-04-16 03:09:32 -07:00
Pragmatic Software
3a7051b32b
Perform rudimentary Java language preprocessing
2015-04-10 05:08:07 -07:00
Pragmatic Software
d3eca7544f
Add Java language to compiler_vm
2015-04-10 03:43:45 -07:00
Pragmatic Software
518f6d041f
Add Go language to compiler_vm
2015-04-09 11:04:34 -07:00
Pragmatic Software
c8f35ddb09
Add Haskell language to compiler_vm
2015-04-09 11:04:18 -07:00
Pragmatic Software
88f6998b12
Improve support for C++ functions within structs/classes
2015-04-09 11:03:42 -07:00
Pragmatic Software
1122f7ede6
Use name
field for -info flag
2015-04-09 11:03:04 -07:00
Pragmatic Software
38d109059a
Improvements to watchdog
...
Expand escape sequences
Ignore various text related to no symbol table and to threads
Automatically continue on breakpoints for functions prefixed with underscores (mostly because of C++)
2015-04-09 11:02:20 -07:00
Pragmatic Software
355853c24e
Remove indent(1) since it barfs on some C99/C11 constructs
2015-04-06 06:43:08 -07:00
Pragmatic Software
8bbfe2d387
Add scheme language to compiler_vm
2015-04-06 00:49:38 -07:00
Pragmatic Software
332545452f
Add clisp language to compiler_vm
2015-04-06 00:49:29 -07:00
Pragmatic Software
a8c813e631
Update C++ compiler_vm to gcc 5.0 and use -std=c++14
2015-04-06 00:48:57 -07:00
Pragmatic Software
2db52fd656
Add Lua language to compiler_vm
2015-04-05 02:32:08 -07:00
Pragmatic Software
d01cbde65b
Add JavaScript language to compiler_vm (using Google V8)
2015-04-05 02:31:45 -07:00
Pragmatic Software
4986c786f1
Add FreeBASIC language to compiler_vm
2015-04-05 02:31:09 -07:00
Pragmatic Software
8686a40104
Add C++ language to compiler_vm
2015-04-05 02:30:42 -07:00
Pragmatic Software
14ebbe2533
Add support for using an optional name
field to override language
...
Since Perl modules cannot use certain characters in the module name,
such as the '+' character, modules cannot have names like "c++".
Using a `name` field allows us to use, e.g., "cpp" as the module name
and "c++" as the language name to invoke that module.
2015-04-05 02:29:12 -07:00
Pragmatic Software
137a29cd3c
Improve indentation for pretty-pasting; remove newline replacement code
2015-04-05 02:24:56 -07:00
Pragmatic Software
1b342af3a4
Replace newlines outside of literals for all languages; improve interactive-edit replacement logic
2015-04-05 02:24:01 -07:00
Pragmatic Software
2261a5bc75
Don't split numbers across lines; use -l as default optional arg
2015-04-05 02:21:35 -07:00
Pragmatic Software
56a926603f
Fix -input option for TenDRA
2015-01-25 13:28:46 -08:00
Pragmatic Software
0f00ceae95
Add -noheaders option to disable pre-included headers
2015-01-24 19:01:44 -08:00
Pragmatic Software
a53b5473ae
TenDRA: Show exit code return value from main()
2015-01-24 11:53:23 -08:00
Pragmatic Software
f31ce372cc
Add language-specific comments for cmdline/output
2015-01-23 19:24:39 -08:00
Pragmatic Software
03d377000b
Use language-specific commenting and syntax highlighter for pastes
2015-01-23 19:23:33 -08:00
Pragmatic Software
7ad726b383
Ensure $last_output is defined
2015-01-22 06:41:55 -08:00
Pragmatic Software
383c9f7813
Add bc language to compiler_vm
2015-01-21 17:43:51 -08:00
Pragmatic Software
361b53a64e
Remove -Wa,-Wl flags from tendra cmdline
2015-01-21 17:43:39 -08:00
Pragmatic Software
36f2f91ba0
Add -fsanitize=undefined to gcc cmdlines
2015-01-21 17:43:13 -08:00
Pragmatic Software
48bd04ba31
Remove leading whitespace at beginning of diagnostics
2015-01-21 01:05:49 -08:00
Pragmatic Software
d0a007853c
Add sh, ksh and python3 languages
2015-01-20 10:13:09 -08:00
Pragmatic Software
540243764f
Remove left-over uneeded $comma
2015-01-18 18:52:42 -08:00
Pragmatic Software
a0f0249c8f
Use more elegant Perlish method to print supported languages
2015-01-18 18:49:36 -08:00
Pragmatic Software
a41906d323
Add python to compiler_vm languages
2015-01-18 18:36:57 -08:00
Pragmatic Software
5e2cd4fd22
Add bash to compiler_vm languages
2015-01-18 18:36:48 -08:00
Pragmatic Software
5f1f350046
Postprocess clang output for invalid %b format specifier
2015-01-18 05:43:16 -08:00
Pragmatic Software
76ead7c8cb
Remove leading/trailing whitespace from nick/channel/lang/code
2015-01-18 05:42:28 -08:00
Pragmatic Software
8999e22db1
Ignore backup~ files when showing supported languages
2015-01-18 05:41:48 -08:00
Pragmatic Software
ae957c0314
Lowercase language option
2015-01-17 07:00:47 -08:00
Pragmatic Software
728015672d
Update local cc to use new compiler_vm_client.pl properly
2015-01-17 05:00:42 -08:00
Pragmatic Software
53f3a59ba1
Fix #inclue typo
2015-01-17 05:00:07 -08:00
Pragmatic Software
fb286837bb
Clean up compiler_vm directory a bit
2015-01-17 04:59:14 -08:00
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
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