diff options
Diffstat (limited to 'to.do/Wish-List')
-rw-r--r-- | to.do/Wish-List | 277 |
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 |