Pragmatic Software
7d3bf58d86
Oops, add missing equation to moving average formula
2015-05-23 02:58:58 -07:00
Pragmatic Software
5b4fccb3f4
Add per-question statistics gathering
2015-05-23 02:27:53 -07:00
Pragmatic Software
7a5a3a38f2
Improve quickest streak ranking; misc bug-fixes
2015-05-23 02:27:08 -07:00
Pragmatic Software
04a308a59e
Improve quickest-streak algorithm for setting new records
...
Use the following formula to set personal records for quickest-streak
relative to an existing personal current record.
(ranked_streak + ranked_streak) / ranked_answers > (current_streak + ranked_streak) / current_answers
E.g., given a current record of 8 correct answers in a row in 1 minute and
20 seconds, to beat that record you'd need: 6 answers in 40 seconds, 7 in
1 minute, 9 in 1 minute 40 seconds, 10 in 2 minutes, etc.
2015-05-22 04:03:39 -07:00
Pragmatic Software
b0b74cd6ea
Add "greater" as alternate answer to a certain question
2015-05-22 03:59:00 -07:00
Pragmatic Software
66635da9cc
Don't bold "this" or "these" embedded in other words
2015-05-22 03:58:28 -07:00
Pragmatic Software
ada7f57141
Reduce hint timeout to 20 seconds; don't update hint statistics if in hints-only mode
2015-05-22 03:57:30 -07:00
Pragmatic Software
8508be2d72
Add quickest-correct-streak logic CJeopardy scores module
...
Remove colors from `score` command
2015-05-21 07:35:04 -07:00
Pragmatic Software
766859eca0
Remove underscore typo
2015-05-21 03:26:38 -07:00
Pragmatic Software
51d8a136ce
Add quickest-correct-streak logic to CJeopardy answer module
...
Todo: Add to `rank`, `scores`, and `reset`.
2015-05-21 02:25:08 -07:00
Pragmatic Software
882dea12e4
Add clang++ language option
...
Update all clang languages to use clang-3.7.
2015-05-18 20:50:11 -07:00
Pragmatic Software
d001720f11
Add qbasic language (using freebasic -lang qb)
2015-05-18 20:49:12 -07:00
Pragmatic Software
06ee49d7ff
Update compiler_server.pl
2015-05-18 20:48:39 -07:00
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
c69d6c1953
Ignore more useless URL titles
2015-05-08 05:11:07 -07:00
Pragmatic Software
3baa1cf809
Added qalc calculator module
2015-05-08 05:02:57 -07:00
Pragmatic Software
7139490067
Updated math.pl to perform unit conversions
2015-05-08 05:02:35 -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
06d6e0f0d4
Correct handling of concatenated prefixed string literals
2015-02-22 23:58:03 -08:00
Pragmatic Software
6cf818419f
Bold more this
keywords
2015-02-19 06:42:12 -08:00
Pragmatic Software
31f20e6b94
Fix minor typos
2015-02-19 06:41:38 -08:00
Pragmatic Software
341cad090e
Take tied ranking positions into account when determining offset
2015-02-17 01:47:28 -08:00
Pragmatic Software
954563b53a
CJeopardy's rank
command can now accept an optional offset argument
2015-02-17 01:31:40 -08:00
Pragmatic Software
76bb9a2c5f
Group players with identical stats under the same rank
...
If Bill and Bob both have 10 correct answers, place them both
under the same rank of #5 instead of putting Bill at #5 and
Bob at #6 .
2015-02-14 14:03:26 -08:00
Pragmatic Software
6ce05f5a05
CGrammar: support prefixes for character constants and string literals
2015-02-13 21:34:02 -08:00
Pragmatic Software
23f2b10ca7
Use descriptive titles instead of keywords in ranking output
2015-02-13 15:36:45 -08:00
Pragmatic Software
96c9c38215
Improvements to C Jeopardy rank
command
...
Allow specifying a nick to show overall rankings for each category.
Limit rankings to top 15 or bottom 15.
Use temp variables to handle division-by-zero instead of setting player's data.
2015-02-13 14:39:20 -08:00
Pragmatic Software
7b7554802d
Correct minor typo; descending --> ascending
2015-02-11 21:38:41 -08:00
Pragmatic Software
edd8762ae2
CJeopardy: Add rank
command
2015-02-11 20:58:16 -08:00
Pragmatic Software
95b1f3eee6
Show message about ending own correct answer streak
2015-02-07 08:47:42 -08:00
Pragmatic Software
0da2287cde
Implement "quickest answer" score tracking (and disable wrong answer streaks)
2015-01-31 16:41:05 -08:00
Pragmatic Software
e6c18eb428
Fix typo
2015-01-31 16:39:05 -08:00
Pragmatic Software
b7a511a2e1
Additional acceptable alternative answers
2015-01-30 18:41:05 -08:00
Pragmatic Software
adec5c1505
Update C Jeopardy colors
2015-01-30 18:40:19 -08:00
Pragmatic Software
9d4af761ca
Add flock semaphore to prevent race conditions
2015-01-29 21:55:46 -08:00
Pragmatic Software
9f5347ab06
Improve streak messages to be more frequent
2015-01-29 01:39:40 -08:00
Pragmatic Software
07a8da6edc
Accept valid alternatives to "null character"
2015-01-29 01:24:59 -08:00
Pragmatic Software
652d91d748
Don't show nick unless checking another player's score
2015-01-29 01:23:57 -08:00
Pragmatic Software
f0593fece7
Add score
and reset
C Jeopardy commands
2015-01-28 13:11:04 -08:00
Pragmatic Software
f14b205148
Minor tweaks to score-streak messages
2015-01-28 03:31:36 -08:00
Pragmatic Software
e656c4f2cc
Add scorestreaks to C Jeopardy
2015-01-28 03:04:28 -08:00
Pragmatic Software
1f260c9e94
Improvements to C Jeopardy module
...
Moved to its own cjeopardy directory.
Added IRCColors module to print colored text.
Added Scorekeeper module to track scoring statistics.
2015-01-28 00:40:40 -08: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
c3dde27328
cjeopardy: If answer is integral, then respond "too big!" or "too small!" respectively
2015-01-24 08:05:47 -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
340cf07558
get_title.pl: remove trailing non-word character
2015-01-23 13:49:16 -08:00
Pragmatic Software
5f9dd151e2
nickometer.pl: update special cases
2015-01-23 13:47:08 -08:00
Pragmatic Software
3010cf1d8d
compiler: Lowercase language
2015-01-23 13:46:18 -08:00
Pragmatic Software
ac128312ac
cjeopardy.txt: fix typo
2015-01-23 13:43:00 -08:00
Pragmatic Software
5d51fe9795
c2english.pl: show usage if no code, and add -Wno-implicit
2015-01-23 13:41:31 -08:00
Pragmatic Software
938561a2fb
math.pl: add cbrt and add optional "the" to 42 question
2015-01-23 13:40: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
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