summaryrefslogtreecommitdiff
path: root/to.do
diff options
context:
space:
mode:
authorJohn Millaway <john43@users.sourceforge.net>2003-03-20 18:09:36 +0000
committerJohn Millaway <john43@users.sourceforge.net>2003-03-20 18:09:36 +0000
commit617209739f940e93e1e8738408a07ff33045014d (patch)
treefbfb825420feb8cd2e881132f9da7dc8ae1ea0b8 /to.do
parentc0cce2a74d7b37e4331848da6a1d99336febe0ff (diff)
Assessment of every item in Wish-List.
Diffstat (limited to 'to.do')
-rw-r--r--to.do/Wish-List176
1 files changed, 165 insertions, 11 deletions
diff --git a/to.do/Wish-List b/to.do/Wish-List
index 59f2d74..2ef20e0 100644
--- a/to.do/Wish-List
+++ b/to.do/Wish-List
@@ -1,123 +1,277 @@
+// Good idea. It might be easier to auto-prefix them instead.
start conditions given own name space by making them structure fields
#define BEGIN(x) yy_start_state = yy_states->x
-reentrant/
-streams/
+
+// Easy.
yylineno maintained per input buffer
+
+// Done.
use yyconst instead of const, to fix __STDC__ == 0 problem
+
+// We rely on %option unput instead.
scan input for unput()
+
+// Not worth the effort.
-CF/-Cf support interactive scanners
+
+// What does this mean?
reject_really_used -> maintain_backup_tables
+
+// Would be easier to rewrite it.
full library encapsulation: flex'ing on the fly
+
+// Currently, max=32k states. Is this an unreasonable limit?
fix MAX_MNS/MARKER_DIFFERENCE to not be a hard limit
+
+// Not doable, especially for the regex operator precedence case.
Two flags to warn when something is seen that lex or posix might interpret
differently; this should be quite doable as -l already exists. Proposed
names: -Wl, -Wp.
+
+// Done.
reentrant C scanners
+
+// Why not use fseek/lseek ?
yy_fseek() for positioning in input file
+
+// What does this mean?
set-able "at beginning of line" , no more unput() trashes yytext?
+
+// Doable.
yy_unput_string(); unput() shifts yytext to preserve it, grows buffer as needed
+
+// Bleh.
yy_malloc_type as void* so can be easily switched to char* for poor
hopeless bastards running SunSoft stuff?
+
+// Done.
public "TODO" file, requesting help?
+
+// Done.
test -P to make sure it's not broken now due to e.g. yy_scan_string
-%option
+
+// What does this mean?
hook for treating input interactively even if not isatty()
-scan.l:22:error message :-( (see flex.todo)
+
+// Easy.
document yy_fill_buffer
+
+// Are these tools even updated anymore?
lint, gcc-lint
+
+// Obsolete.
-lfl removed from flex.1
+
+// What does this mean?
merge 2.4.6, e.g., NEWS
+
+// Is it bothering anyone?
'|' action copies action instead of omitting break
+
+// Doable.
if yy_current_buffer defined on entry to yylex(), don't promote nil yyin
to stdin, etc.
-multibyte character flex
+// Inevitable, but a daunting task.
+multibyte character flex
+// Done ("traditional")
ANSI only
+
+// Obsolete.
multiple inclusion of <stdlib.h>?
+
+// Put on back burner.
[=...=] POSIX stuff
-+flex.todo
+
+// Done.
yylineno, yycol by checking for whether rules can match embedded newlines,
only trailing newlines, always trailing newlines, or no newlines
+
+// Bleh.
compute transition path to each DFA state, to aid in backtracking
for each state, store pointer to predecessor, character for xtion
+
+// Obsolete.
merge flex.1, flexdoc.1?
+
+// In the works.
bison++ interface
+
+// What is this supposed to do?
YYLEXER_NAME
+
+// Moot. C++ will get an overhaul eventually.
out-line FlexLexer destructors
+
+// What does this mean?
GNU readline contrib?
+
+// Done.
isatty() decl?
+
+// I think this is obsolete.
#ifdef chud for unput() etc. not being used?
"../scan.l", line 207: warning: ::yy_did_buffer_switch_on_eof defined but not used
cc -c -g scan.c
"scan.cc", line 1752: warning: statement not reached
+
+// Done.
alloca.c removed from Makefile
+
+// Doable.
// comments
+// Done. (%% lines in skel)
output partitioning for e.g., scanning tables, actions, etc.
- 497 09/11 14:17-PDT 3450 To:t_bonner@oscar Re: Modifying yytext in an actio
-MISC stuff non-writeable
+// Done.
texinfo version of manual
- ALSO: document how to do so (including no need to redefine unput()),
- whether feature added or not
-
+// What does this mean?
example of "error" backtracking rules as opposed to "catch-all"
+
+// What does this mean?
get rid of get_previous_state via accepting #'s tied to previous state #'s
+
+// Doable.
-p tells something about backtracking
+
+// Done.
easy way to scan strings instead of files
+
+// Useful, but tricky.
input() across buffer boundaries, buffer overflow; unput() fix
+
+// Done.
start state stack
+
+// I guess this is handled by the set_bol() stuff.
NLSTATE - sets "in newline" state; also mechanism to clear "in newline" state
+
+// Unreachable rules are flagged. Is this what is meant?
checks for bogus backtrack rules ... - rule shadowing
+
+// Done.
document incompatibility with lex when unput()'ing a newline
after a newline has been read
+
+// Incorrect. They are allowed.
document that comments are not allowed on definition lines
foo bar /* the "foo" definition ... */
+
+// What does this mean?
perhaps indented code in section 2 leads to warnings?
+
+// Easy.
#line directives for code at beginning of scanner routine
+
+// Done.
nuke %used etc.
+
+// Done.
hooks for direct access to the buffer, e.g. for flushing it
+
+// Done.
options in .l file as well as on command line; particularly the rename-prefix
option
+
+// Done.
clarify "eat up * not followed by /" in <comment> example; move it to
performance, offer simpler version for start states
+
+// Doable.
hook for finding out how much text can be safely pushed back
+
+// What does this mean?
the .backtrack code knows how to identify characters that cause transitions
(you wanted this for some clearer error messages for the
"default rule can be matched")
+
+// Obsolete.
yy_switch_to_buffer sets yy_init to 0?
+
+// Excellent idea.
handy library routines, such as yy_C_comment(), yy_C_string(),
+
+// Done.
obey #line directives in input; first, get rid of # comments ...
+
+// Done.
flex.h header for declarations of e.g., yymore(), yytext?
but what about %array making the yytext definition out of date?
+
+// What does this mean?
merge w/ okeeffe code
+
+// Easy.
rearrange the Performance Considerations section so that the easy
fixes come first
+
+// Done.
copyright notice in manuals?
+
+// Doable.
input() updates yytext and yyleng; perhaps unput too???;
right now it trashes them (doesn't restore '\0')
+
+// No. yyleng should not be modifable.
document that yyleng can now be modified
except if yymore() used?
+
+// Icky.
anchoring allowed inside ()'s - (^abc|def$)
+
+//
unput() propagates non-newline state too?
+
+// Not doable. Anchors chars are only special at ends of RE.
complain about invalid anchoring - foo(^abc), (^abc)+
+
+// Not likely.
library in its own directory
+
+// Done.
yylineno
+
+// Why?
example in flexdoc on YY_INPUT reading from input()
+
+// Not currently doable.
redesign for retargetability (i.e., use w/ other languages ...)
+
+// ???
clean up escape expansion
+
+// In progress.
bison @N
+
+// Done.
example for doc. on scanning strings w/ escapes in them:
+
+// Done.
POSIX/
+
+// Done.
get rid of duplicated code between "re2 re" rule and "re '$'" rule
+
+// Obsolete.
preformatted man pages for VMS sites, possibly using col -b to get rid
of backspaces ...
+
+// Interesting.
slurp entire input file into mega-buffer; allows pointers to in-place
identifiers
+
+// Done.
lex compatibility flag
+
+// Done.
update flags in docs
+
+// Done. It's still there.
-n removed from POSIX?
+
+// Obsolete.
"MAKE = ..." shouldn't be commented out, or else bigtest can fail
BSD man macros