Pragmatic Software
511994025c
Update compiler_vm stuff
2015-09-03 21:32:44 -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
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
8999e22db1
Ignore backup~ files when showing supported languages
2015-01-18 05:41:48 -08:00
Pragmatic Software
0afaf9eb1b
Show usage if no code given
2015-01-17 04:39:19 -08:00
Pragmatic Software
ac8dadb7f7
Show supported languages when invalid language given
2015-01-15 21:20:34 -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
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
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
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
f6edfce6b4
compiler_vm: Use random fortune instead of Ipsum for default input
2014-02-24 07:25:50 +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
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
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