Pragmatic Software
433f381bc9
Don't expand $1, $2, etc, as adlibs
2015-04-03 10:40:48 -07:00
Pragmatic Software
7cd174506f
Update version
2015-04-03 10:12:37 -07:00
Pragmatic Software
528f66bfed
Refactor Factoids.pm to allow expansion of variables in all factoid types
...
Variables like $args and adlib variables can now be expanded in modules
and other factoid types.
2015-04-03 10:11:21 -07:00
Pragmatic Software
060d3aee6a
Fix wrong channel for `fact` command
...
The `fact` command was using $channel instead of $from, which
caused the result to be sent to the channel the factoid lives
in instead of the channel the command was invoked in.
2015-04-03 10:08:57 -07:00
Pragmatic Software
2a0912342e
Update version
2015-03-30 15:04:12 -07:00
Pragmatic Software
c73f8b6a01
Minor refactor
2015-03-30 15:04:08 -07:00
Pragmatic Software
b2714e2d16
Update version
2015-03-29 20:26:35 -07:00
Pragmatic Software
b6f842bafc
Rename some missed variables from previous name-change
2015-03-29 20:26:08 -07:00
Pragmatic Software
b36a4fb2c9
Improve message output queue
...
- Use distinct per-channel queues
- Use timestamp of last message in queue to add delay
- Increase typing speed from 4 characters per second to 7 cps
2015-03-29 20:24:36 -07:00
Pragmatic Software
3f62bfbd94
Update version
2015-03-28 17:52:42 -07:00
Pragmatic Software
e199f6309a
Factoids can now be set to use a delayed output queue instead of immediately responding
2015-03-28 17:50:43 -07:00
Pragmatic Software
6701ee67f9
find_factoid() can now be told to return found alias instead
2015-03-28 17:49:42 -07:00
Pragmatic Software
5457e129b0
Update version
2015-03-27 13:01:15 -07:00
Pragmatic Software
7599fb0c19
Correct handling of bot trigger in /msg since earlier commit allowing trigger to be a regex
2015-03-27 13:00:43 -07:00
Pragmatic Software
5117c601fb
Update version
2015-03-27 04:09:50 -07:00
Pragmatic Software
9140cbec07
Remove ancient obsoleted -1 check on Nickserv account
2015-03-27 04:09:39 -07:00
Pragmatic Software
7f87730de8
Improve handling of Nickserv accounts in check-bans and unbanme
2015-03-27 04:08:47 -07:00
Pragmatic Software
377cf99d35
Update version
2015-03-23 04:27:49 -07:00
Pragmatic Software
44bdf26ebc
Add support for per-channel bot trigger characters
2015-03-23 04:27:41 -07:00
Pragmatic Software
2e9f15b7e2
Support IPv6 banmasks
2015-03-23 04:18:33 -07:00
Pragmatic Software
0db12b82ae
Update version
2015-03-20 21:14:11 -07:00
Pragmatic Software
be47b2cbf2
Improve output of blacklist and ignorelist commands
2015-03-20 21:14:07 -07:00
Pragmatic Software
3e88db4505
Update version
2015-03-16 23:22:22 -07:00
Pragmatic Software
728e05e514
Correct minor logic error
2015-03-16 23:22:18 -07:00
Pragmatic Software
b45b707ec2
Update version
2015-03-16 21:10:12 -07:00
Pragmatic Software
9a52fffcdd
Rename ShitList to BlackList; minor refactor of IgnoreList
2015-03-16 21:08:25 -07:00
Pragmatic Software
d350affa93
Update version
2015-03-15 20:13:03 -07:00
Pragmatic Software
cb9ead7624
Incorporate custom `workdir` field into URL for modules
2015-03-15 20:12:44 -07:00
Pragmatic Software
9abce1c102
Update version
2015-03-15 14:07:54 -07:00
Pragmatic Software
284f943c08
Fix typos
2015-03-15 14:07:38 -07:00
Pragmatic Software
e604767517
Add support for shitlisting hostmasks
2015-03-15 13:52:30 -07:00
Pragmatic Software
73ba1e7c19
Update version
2015-03-11 02:00:14 -07:00
Pragmatic Software
7970018777
Improve handling of nick-change flood
2015-03-11 02:00:10 -07:00
Pragmatic Software
9ec50d8f5d
Update version
2015-03-04 00:41:41 -08:00
Pragmatic Software
386e03c184
Add `stayloggedin` field to admin accounts to prevent logging out when /parting or /quitting
2015-03-04 00:39:44 -08:00
Pragmatic Software
d5073be98f
Update version
2015-02-17 01:47:38 -08:00
Pragmatic Software
e0971e8158
Update version
2015-02-17 01:32:28 -08:00
Pragmatic Software
f06aa9dda6
Update version
2015-02-15 20:30:34 -08:00
Pragmatic Software
b23935b8dc
Create SQLite index for Messages table
...
This significantly speeds up certain SQL actions on
the Messages table that were done for anti-flood detection.
The bot should now be significantly more quicker to catch
floods promptly without delay.
(Also, comment out some logging messages. Perhaps revisit this
and wrap them with a debug registry variable instead.)
2015-02-15 20:30:28 -08:00
Pragmatic Software
19788eec47
Use 0 second timeout on SelectHandler's select
...
We do not need to wait for any timeout period in SelectHandler's
select since IRC.pm's select has a 1 second (by default) timeout.
Removing this unnecessary delay will increase the overall
responsiveness of the bot.
2015-02-15 20:23:07 -08:00
Pragmatic Software
1ffe857ba5
Print IRC debug messages to STDERR
2015-02-15 20:19:51 -08:00
Pragmatic Software
ec13cf14bc
Search all channels if target channel is not a valid channel (private message, for instance)
2015-02-15 20:18:46 -08:00
Pragmatic Software
04f47ba3a1
Show "global" if namespace is ".*"
2015-02-15 20:17:36 -08:00
Pragmatic Software
9f265a0f0e
Do not enforce anti-flood on logged in bot admins
2015-02-15 20:16:37 -08:00
Pragmatic Software
559b9ddde1
Use NickList instead of MessageHistory for target channels
2015-02-14 04:03:39 -08:00
Pragmatic Software
800b097a34
Use NickList instead of MessageHistory for target channels
2015-02-14 04:03:18 -08:00
Pragmatic Software
ad1ab83298
Update bad_actions with more matches
2015-02-14 04:02:13 -08:00
Pragmatic Software
9f23aef2d0
Random IRC nicks cannot start with a digit
2015-02-14 04:01:09 -08:00
Pragmatic Software
022f86c3e1
Update version
2015-02-13 15:37:55 -08:00
Pragmatic Software
2db21dd011
Update version
2015-02-13 14:39:27 -08:00
Pragmatic Software
2a63cced1d
Update version
2015-02-11 21:38:48 -08:00
Pragmatic Software
23ae41c2f2
Update version
2015-02-07 08:48:58 -08:00
Pragmatic Software
b693f96806
Update version
2015-01-29 01:40:00 -08:00
Pragmatic Software
972b542582
Update version
2015-01-29 01:25:09 -08:00
Pragmatic Software
12cd9cb8e0
Improve launching of modules
...
If a `workdir` factoid key is present, the launcher will chdir
to make the specified value the current working directory.
Redirect stderr output to a $modulename-stderr in the module's
current working directory.
2015-01-27 23:49:30 -08:00
Pragmatic Software
4b9e177aec
Update version
2015-01-24 08:05:58 -08:00
Pragmatic Software
74f717ad51
Update version
2015-01-23 13:50:17 -08:00
Pragmatic Software
f8b6b19398
Show only chat messages in `recall` surrounding context (no joins/quits/etc)
2015-01-23 13:50:14 -08:00
Pragmatic Software
573a18e6ef
Update version
2015-01-23 12:33:06 -08:00
Pragmatic Software
5ab76e6e6c
Add -x/-context <nick> flag to limit recall -before/-after context to that nick
2015-01-23 11:44:38 -08:00
Pragmatic Software
90597350c5
Update version
2015-01-23 07:36:53 -08:00
Pragmatic Software
b806a473d2
Add ability to get surrounding message context in recall command
...
Add the -b/-before and -a/-after flags to the `recall` command to display
that many lines of surrounding context.
For example, `recall -c ##c -b 100` will show the last 100 messages in the ##c
channel.
Another example, `recall pragma- 50 -b 5 -a 5` will show the 5 messages before the 50th
most recent message spoken by pragma- and then show that 50th message and finally show
the 5 messages after it.
2015-01-23 07:36:39 -08:00
Pragmatic Software
8810605691
Show server:port when connecting
2015-01-23 05:35:06 -08:00
Pragmatic Software
659e61f1fb
Update version
2015-01-10 15:56:46 -08:00
Pragmatic Software
7243832cc3
Improve connecting/nicking logic
...
Randomize nick when connecting and change to botnick after identifying.
Identify after receiving connection welcome message.
Ghost existing nick if it is already in use and then attempt to regain it.
2015-01-10 15:56:43 -08:00
Pragmatic Software
28bd6f3611
Update version
2015-01-06 15:35:55 -08:00
Pragmatic Software
5d1412227f
Update version
2014-12-30 17:26:35 -08:00
Pragmatic Software
ebd47406ca
Update version
2014-12-29 23:56:49 -08:00
Pragmatic Software
7a1d37b51a
Update version
2014-12-29 23:25:31 -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
b289fd155e
Add repo_module to registry to customize source URL in factinfo command
2014-12-29 23:15:46 -08:00
Pragmatic Software
4c65df0529
Update update-version.pl from svn to git
2014-12-29 23:04:35 -08:00
Pragmatic Software
ecd2bad066
Add anti-kick-auto-rejoin module that temporarily kickbans offenders who immediately auto-rejoin after having been kicked
2014-12-28 00:44:15 +00:00
Pragmatic Software
0b9513ca2e
Reduce ban-tracker verbosity by putting "Getting baninfo" log messages in a debug block
2014-12-27 05:20:21 +00:00
Pragmatic Software
bb5c825aab
Correct handling of anti-away /me actions
2014-12-27 05:08:42 +00:00
Pragmatic Software
e5909965f7
Move anti-away stuff to its own AntiAway.pm module; add /me actions to anti-away detection
2014-12-27 04:53:42 +00:00
Pragmatic Software
ba59edb040
Update paren.py module to improve parentheses verbosity
2014-12-20 19:44:40 +00:00
Pragmatic Software
a09d3c1d63
Add `permop` channel flag; when non-zero bot automatically ops itself when joining channel, otherwise bot ops itself only when needing to perform an op command and then deops itself after its deop timeout has elapsed
2014-12-18 08:46:13 +00:00
Pragmatic Software
598e2e4988
Add NickList module to track nicks present in channels; dispatch pbot.join/pbot.part events when bot joins/parts channels
2014-11-15 01:18:33 +00:00
Pragmatic Software
d1e7abc175
Add event dispatcher module to allow modules to dispatch events and
...
to register handlers to listen for events.
Update IRCHandlers module to use new event dispatcher to dispatch
irc.events. Update several modules to register with dispatcher
to listen for irc.events.
Improve handling of reconnection upon unexpected disconnection.
Todo: update more things to use new event dispatcher logic.
2014-11-01 00:15:21 +00:00
Pragmatic Software
bc604d3ce2
Insert additional events to IRC::Event::_names table so default handlers will pick them up
...
Fix up indentation of _names table
2014-11-01 00:08:21 +00:00
Pragmatic Software
5a63fbd705
Auto-kick people who change nicks to a nick matching $bad_away_nicks
2014-10-28 20:35:33 +00:00
Pragmatic Software
c979efcfa6
Ignore add_op_command() for channels bot is not registered or set as op
2014-10-28 20:34:48 +00:00
Pragmatic Software
f640ade74e
Fix regex factoids so that regular factoid keywords have priority over regex triggers
2014-10-28 20:33:11 +00:00
Pragmatic Software
f70e044a60
Update latest hostmask last_seen timestamp when linking accounts
2014-10-14 02:33:13 +00:00
Pragmatic Software
a679b0ff15
Improve handling of KICK events wrt to message history
2014-10-14 02:32:22 +00:00
Pragmatic Software
46fa0d52b3
Minor code formatting improvement
2014-10-14 02:30:57 +00:00
Pragmatic Software
4dbec8001e
Fix regex factoids in global namespace not being triggered
2014-10-14 02:30:14 +00:00
Pragmatic Software
750b78cb53
quotemeta doesn't escape underscores, whoops -- manually escape underscores for Message History SQL statements
2014-10-01 21:18:54 +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
b2e6d7e4c0
Update version
2014-09-11 13:37:57 +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
83af062376
Fix case-sensitivity to show QUIT messages properly
2014-09-09 07:19:10 +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
34d9a2a6d9
Appropriately wildcard /gateway/ hostmask bans
2014-08-18 14:57:12 +00:00
Pragmatic Software
749fda0ff3
Add HHGTTG easter egg to math.pl
2014-08-13 16:55:04 +00:00
Pragmatic Software
654cce66a5
Improve check for ban-evasion when nick-change is detected
2014-08-12 05:51:21 +00:00
Pragmatic Software
068c6a0559
Add default handler for unhandled IRC events; ignore certain IRC events; improve handling of chan-op requests
2014-08-11 07:34:30 +00:00
Pragmatic Software
c40e34b3a1
Add newline to "also known as" output to improve formatting in pastes
2014-08-11 07:33:05 +00:00
Pragmatic Software
321fdc401c
Improve handling of white-space when splitting output on new-lines
2014-08-11 07:32:24 +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
48382de916
Add ability to set maximum number of newlines allowed before truncating for preserve newlines
2014-08-05 23:15:11 +00:00
Pragmatic Software
dddc9c3be9
Paste remaining lines to paste site if truncated with more lines remaining when preserve newlines is in effect
2014-08-05 23:11:51 +00:00
Pragmatic Software
a8ffedc853
C Jeopardy commands now use preserve_whitespace
2014-08-04 22:51:09 +00:00
Pragmatic Software
ca37b4fd4e
Fix use of wrong sub name when saving registry entries in add/remove subs
2014-08-04 22:50:22 +00:00
Pragmatic Software
b15ab7f84f
Add ability to preserve newlines in output; require explicit `factadd` to add factoids
2014-08-04 22:48:32 +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
077978bfa1
Add -h option to `aka` command to show full hostmasks
2014-07-13 07:06:04 +00:00
Pragmatic Software
2a8d9152f5
CGrammar: Improve handling of "the result of the expression"
2014-07-13 06:36:55 +00:00
Pragmatic Software
46b5b95d54
Escape undesired SQL wildcards in certain statements; add `aka` command to list also-known-as entries
2014-07-11 12:57:18 +00:00
Pragmatic Software
65073e311d
Add support for `nooverride` to prevent commands from being overridden in different namespaces
2014-07-11 12:56:17 +00:00
Pragmatic Software
23b725eeb8
Prevent warning about given/when; incorporate general offense counter in enter abuse offenses; decrement enter abuses once every 24 hours instead of once per hour
2014-07-11 12:54:56 +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
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