summaryrefslogtreecommitdiff
path: root/to.do/Wish-List
diff options
context:
space:
mode:
Diffstat (limited to 'to.do/Wish-List')
-rw-r--r--to.do/Wish-List277
1 files changed, 277 insertions, 0 deletions
diff --git a/to.do/Wish-List b/to.do/Wish-List
new file mode 100644
index 0000000..2ef20e0
--- /dev/null
+++ b/to.do/Wish-List
@@ -0,0 +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
+
+// 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
+
+// What does this mean?
+hook for treating input interactively even if not isatty()
+
+// 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.
+
+// Inevitable, but a daunting task.
+multibyte character flex
+
+// Done ("traditional")
+ANSI only
+
+// Obsolete.
+multiple inclusion of <stdlib.h>?
+
+// Put on back burner.
+[=...=] POSIX stuff
+
+// 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.
+
+// Done.
+texinfo version of manual
+
+// 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