Annotation of researchv10dc/cmd/flex/Changes, revision 1.1

1.1     ! root        1: Changes between 2.1 beta-test release of June '89 and previous release:
        !             2: 
        !             3:     User-visible:
        !             4: 
        !             5:        - -p flag generates a performance report to stderr.  The report
        !             6:          consists of comments regarding features of the scanner rules
        !             7:          which result in slower scanners.
        !             8: 
        !             9:        - -b flag generates backtracking information to lex.backtrack.
        !            10:          This is a list of scanner states which require backtracking
        !            11:          and the characters on which they do so.  By adding rules
        !            12:          one can remove backtracking states.  If all backtracking states
        !            13:          are eliminated, the generated scanner will run faster.
        !            14:          Backtracking is not yet documented in the manual entry.
        !            15: 
        !            16:        - Variable trailing context now works, i.e., one can have
        !            17:          rules like "(foo)*/[ \t]*bletch".  Some trailing context
        !            18:          patterns still cannot be properly matched and generate
        !            19:          error messages.  These are patterns where the ending of the
        !            20:          first part of the rule matches the beginning of the second
        !            21:          part, such as "zx*/xy*", where the 'x*' matches the 'x' at
        !            22:          the beginning of the trailing context.  Lex won't get these
        !            23:          patterns right either.
        !            24: 
        !            25:        - Faster scanners.
        !            26: 
        !            27:        - End-of-file rules.  The special rule "<<EOF>>" indicates
        !            28:          actions which are to be taken when an end-of-file is
        !            29:          encountered and yywrap() returns non-zero (i.e., indicates
        !            30:          no further files to process).  See manual entry for example.
        !            31: 
        !            32:        - The -r (reject used) flag is gone.  flex now scans the input
        !            33:          for occurrences of the string "REJECT" to determine if the
        !            34:          action is needed.  It tries to be intelligent about this but
        !            35:          can be fooled.  One can force the presence or absence of
        !            36:          REJECT by adding a line in the first section of the form
        !            37:          "%used REJECT" or "%unused REJECT".
        !            38: 
        !            39:        - yymore() has been implemented.  Similarly to REJECT, flex
        !            40:          detects the use of yymore(), which can be overridden using
        !            41:          "%used" or "%unused".
        !            42: 
        !            43:        - Patterns like "x{0,3}" now work (i.e., with lower-limit == 0).
        !            44: 
        !            45:        - Removed '\^x' for ctrl-x misfeature.
        !            46: 
        !            47:        - Added '\a' and '\v' escape sequences.
        !            48: 
        !            49:        - \<digits> now works for octal escape sequences; previously
        !            50:          \0<digits> was required.
        !            51: 
        !            52:        - Better error reporting; line numbers are associated with rules.
        !            53: 
        !            54:        - yyleng is a macro; it cannot be accessed outside of the
        !            55:          scanner source file.
        !            56: 
        !            57:        - yytext and yyleng should not be modified within a flex action.
        !            58: 
        !            59:        - Generated scanners #define the name FLEX_SCANNER.
        !            60: 
        !            61:        - Rules are internally separated by YY_BREAK in lex.yy.c rather
        !            62:          than break, to allow redefinition.
        !            63: 
        !            64:        - The macro YY_USER_ACTION can be redefined to provide an action
        !            65:          which is always executed prior to the matched rule's action.
        !            66:        
        !            67:        - yyrestart() is a new action which can be used to restart
        !            68:          the scanner after it has seen an end-of-file (a "real" one,
        !            69:          that is, one for which yywrap() returned non-zero).  It takes
        !            70:          a FILE* argument indicating a new file to scan and sets
        !            71:          things up so that a subsequent call to yylex() will start
        !            72:          scanning that file.
        !            73: 
        !            74:        - Internal scanner names all preceded by "yy_"
        !            75: 
        !            76:        - lex.yy.c is deleted if errors are encountered during processing.
        !            77: 
        !            78:        - Comments may be put in the first section of the input by preceding
        !            79:          them with '#'.
        !            80: 
        !            81: 
        !            82: 
        !            83:     Other changes:
        !            84: 
        !            85:        - Some portability-related bugs fixed, in particular for machines
        !            86:          with unsigned characters or sizeof( int* ) != sizeof( int ).
        !            87:          Also, tweaks for VMS and Microsoft C (MS-DOS), and identifiers all
        !            88:          trimmed to be 31 or fewer characters.  Shortened file names
        !            89:          for dinosaur OS's.  Checks for allocating > 64K memory
        !            90:          on 16 bit'ers.  Amiga tweaks.  Compiles using gcc on a Sun-3.
        !            91: 
        !            92:        - Compressed and fast scanner skeletons merged.
        !            93: 
        !            94:        - Skeleton header files done away with.
        !            95: 
        !            96:        - Generated scanner uses prototypes and "const" for __STDC__.
        !            97: 
        !            98:        - -DSV flag is now -DSYS_V for System V compilation.
        !            99: 
        !           100:        - Removed all references to FTL language.
        !           101: 
        !           102:        - Software now covered by BSD Copyright.
        !           103: 
        !           104:        - flex will replace lex in subsequent BSD releases.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.