亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? flex.texi

?? flex 詞法分析工具 類似于lex 此版本為較早前的版本
?? TEXI
?? 第 1 頁 / 共 5 頁
字號:
\input texinfo@c %**start of header@setfilename flex.info@settitle Flex - a scanner generator@c @finalout@c @setchapternewpage odd@c %**end of header@set EDITION 2.5@set UPDATED March 1995@set VERSION 2.5@c FIXME - Reread a printed copy with a red pen and patience.@c FIXME - Modify all "See ..." references and replace with @xref's.@ifinfo@formatSTART-INFO-DIR-ENTRY* Flex: (flex).         A fast scanner generator.END-INFO-DIR-ENTRY@end format@end ifinfo@c Define new indices for commands, filenames, and options.@c @defcodeindex cm@c @defcodeindex fl@c @defcodeindex op@c Put everything in one index (arbitrarily chosen to be the concept index).@c @syncodeindex cm cp@c @syncodeindex fl cp@syncodeindex fn cp@syncodeindex ky cp@c @syncodeindex op cp@syncodeindex pg cp@syncodeindex vr cp@ifinfoThis file documents Flex.Copyright (c) 1990 The Regents of the University of California.All rights reserved.This code is derived from software contributed to Berkeley byVern Paxson.The United States Government has rights in this work pursuantto contract no. DE-AC03-76SF00098 between the United StatesDepartment of Energy and the University of California.Redistribution and use in source and binary forms with or withoutmodification are permitted provided that: (1) source distributionsretain this entire copyright notice and comment, and (2)distributions including binaries display the followingacknowledgement:  ``This product includes software developed by theUniversity of California, Berkeley and its contributors'' in thedocumentation or other materials provided with the distribution andin all advertising materials mentioning features or use of thissoftware.  Neither the name of the University nor the names of itscontributors may be used to endorse or promote products derivedfrom this software without specific prior written permission.THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS ORIMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIEDWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULARPURPOSE.@ignorePermission is granted to process this file through TeX and print theresults, provided the printed document carries copying permissionnotice identical to this one except for the removal of this paragraph(this paragraph not being relevant to the printed manual).@end ignore@end ifinfo@titlepage@title Flex, version @value{VERSION}@subtitle A fast scanner generator@subtitle Edition @value{EDITION}, @value{UPDATED}@author Vern Paxson@page@vskip 0pt plus 1filllCopyright @copyright{} 1990 The Regents of the University of California.All rights reserved.This code is derived from software contributed to Berkeley byVern Paxson.The United States Government has rights in this work pursuantto contract no. DE-AC03-76SF00098 between the United StatesDepartment of Energy and the University of California.Redistribution and use in source and binary forms with or withoutmodification are permitted provided that: (1) source distributionsretain this entire copyright notice and comment, and (2)distributions including binaries display the followingacknowledgement:  ``This product includes software developed by theUniversity of California, Berkeley and its contributors'' in thedocumentation or other materials provided with the distribution andin all advertising materials mentioning features or use of thissoftware.  Neither the name of the University nor the names of itscontributors may be used to endorse or promote products derivedfrom this software without specific prior written permission.THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS ORIMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIEDWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULARPURPOSE.@end titlepage@ifinfo@node Top, Name, (dir), (dir)@top flex@cindex scanner generatorThis manual documents @code{flex}.  It covers release @value{VERSION}.@menu* Name::                        Name* Synopsis::                    Synopsis* Overview::                    Overview* Description::                 Description* Examples::                    Some simple examples* Format::                      Format of the input file* Patterns::                    Patterns* Matching::                    How the input is matched* Actions::                     Actions* Generated scanner::           The generated scanner* Start conditions::            Start conditions* Multiple buffers::            Multiple input buffers* End-of-file rules::           End-of-file rules* Miscellaneous::               Miscellaneous macros* User variables::              Values available to the user* YACC interface::              Interfacing with @code{yacc}* Options::                     Options* Performance::                 Performance considerations* C++::                         Generating C++ scanners* Incompatibilities::           Incompatibilities with @code{lex} and POSIX* Diagnostics::                 Diagnostics* Files::                       Files* Deficiencies::                Deficiencies / Bugs* See also::                    See also* Author::                      Author@c * Index::                       Index@end menu@end ifinfo@node Name, Synopsis, Top, Top@section Nameflex - fast lexical analyzer generator@node Synopsis, Overview, Name, Top@section Synopsis@exampleflex [-bcdfhilnpstvwBFILTV78+? -C[aefFmr] -ooutput -Pprefix -Sskeleton][--help --version] [@var{filename} @dots{}]@end example@node Overview, Description, Synopsis, Top@section OverviewThis manual describes @code{flex}, a tool for generating programsthat perform pattern-matching on text.  The manualincludes both tutorial and reference sections:@table @asis@item Descriptiona brief overview of the tool@item Some Simple Examples@item Format Of The Input File@item Patternsthe extended regular expressions used by flex@item How The Input Is Matchedthe rules for determining what has been matched@item Actionshow to specify what to do when a pattern is matched@item The Generated Scannerdetails regarding the scanner that flex produces;how to control the input source@item Start Conditionsintroducing context into your scanners, andmanaging "mini-scanners"@item Multiple Input Buffershow to manipulate multiple input sources; how toscan from strings instead of files@item End-of-file Rulesspecial rules for matching the end of the input@item Miscellaneous Macrosa summary of macros available to the actions@item Values Available To The Usera summary of values available to the actions@item Interfacing With Yaccconnecting flex scanners together with yacc parsers@item Optionsflex command-line options, and the "%option"directive@item Performance Considerationshow to make your scanner go as fast as possible@item Generating C++ Scannersthe (experimental) facility for generating C++scanner classes@item Incompatibilities With Lex And POSIXhow flex differs from AT&T lex and the POSIX lexstandard@item Diagnosticsthose error messages produced by flex (or scannersit generates) whose meanings might not be apparent@item Filesfiles used by flex@item Deficiencies / Bugsknown problems with flex@item See Alsoother documentation, related tools@item Authorincludes contact information@end table@node Description, Examples, Overview, Top@section Description@code{flex} is a tool for generating @dfn{scanners}: programs whichrecognized lexical patterns in text.  @code{flex} reads the giveninput files, or its standard input if no file names aregiven, for a description of a scanner to generate.  Thedescription is in the form of pairs of regular expressionsand C code, called @dfn{rules}. @code{flex} generates as output a Csource file, @file{lex.yy.c}, which defines a routine @samp{yylex()}.This file is compiled and linked with the @samp{-lfl} library toproduce an executable.  When the executable is run, itanalyzes its input for occurrences of the regularexpressions.  Whenever it finds one, it executes thecorresponding C code.@node Examples, Format, Description, Top@section Some simple examplesFirst some simple examples to get the flavor of how oneuses @code{flex}.  The following @code{flex} input specifies a scannerwhich whenever it encounters the string "username" willreplace it with the user's login name:@example%%username    printf( "%s", getlogin() );@end exampleBy default, any text not matched by a @code{flex} scanner iscopied to the output, so the net effect of this scanner isto copy its input file to its output with each occurrenceof "username" expanded.  In this input, there is just onerule.  "username" is the @var{pattern} and the "printf" is the@var{action}.  The "%%" marks the beginning of the rules.Here's another simple example:@example        int num_lines = 0, num_chars = 0;%%\n      ++num_lines; ++num_chars;.       ++num_chars;%%main()        @{        yylex();        printf( "# of lines = %d, # of chars = %d\n",                num_lines, num_chars );        @}@end exampleThis scanner counts the number of characters and thenumber of lines in its input (it produces no output otherthan the final report on the counts).  The first linedeclares two globals, "num_lines" and "num_chars", whichare accessible both inside @samp{yylex()} and in the @samp{main()}routine declared after the second "%%".  There are two rules,one which matches a newline ("\n") and increments both theline count and the character count, and one which matchesany character other than a newline (indicated by the "."regular expression).A somewhat more complicated example:@example/* scanner for a toy Pascal-like language */%@{/* need this for the call to atof() below */#include <math.h>%@}DIGIT    [0-9]ID       [a-z][a-z0-9]*%%@{DIGIT@}+    @{            printf( "An integer: %s (%d)\n", yytext,                    atoi( yytext ) );            @}@{DIGIT@}+"."@{DIGIT@}*        @{            printf( "A float: %s (%g)\n", yytext,                    atof( yytext ) );            @}if|then|begin|end|procedure|function        @{            printf( "A keyword: %s\n", yytext );            @}@{ID@}        printf( "An identifier: %s\n", yytext );"+"|"-"|"*"|"/"   printf( "An operator: %s\n", yytext );"@{"[^@}\n]*"@}"     /* eat up one-line comments */[ \t\n]+          /* eat up whitespace */.           printf( "Unrecognized character: %s\n", yytext );%%main( argc, argv )int argc;char **argv;    @{    ++argv, --argc;  /* skip over program name */    if ( argc > 0 )            yyin = fopen( argv[0], "r" );    else            yyin = stdin;    yylex();    @}@end exampleThis is the beginnings of a simple scanner for a languagelike Pascal.  It identifies different types of @var{tokens} andreports on what it has seen.The details of this example will be explained in thefollowing sections.@node Format, Patterns, Examples, Top@section Format of the input fileThe @code{flex} input file consists of three sections, separatedby a line with just @samp{%%} in it:@exampledefinitions%%rules%%user code@end exampleThe @dfn{definitions} section contains declarations of simple@dfn{name} definitions to simplify the scanner specification,and declarations of @dfn{start conditions}, which are explainedin a later section.Name definitions have the form:@examplename definition@end exampleThe "name" is a word beginning with a letter or anunderscore ('_') followed by zero or more letters, digits, '_',or '-' (dash).  The definition is taken to begin at thefirst non-white-space character following the name andcontinuing to the end of the line.  The definition cansubsequently be referred to using "@{name@}", which willexpand to "(definition)".  For example,

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品久久久久久久蜜臀| 亚洲丶国产丶欧美一区二区三区| 91.麻豆视频| 91亚洲精品久久久蜜桃网站| 国产成人av电影在线播放| 日精品一区二区| 亚洲成人www| 一区二区三区日韩精品视频| 亚洲人成人一区二区在线观看| 国产不卡在线一区| 偷拍一区二区三区| 91精品国产综合久久精品性色| 91玉足脚交白嫩脚丫在线播放| 国产麻豆视频一区二区| 久久99在线观看| 久久国产免费看| 免费在线观看一区| 麻豆一区二区三区| 日本欧美久久久久免费播放网| 亚洲不卡av一区二区三区| 午夜视频在线观看一区| 日韩精品一级二级| 日本va欧美va精品发布| 日韩成人精品在线观看| 美女在线视频一区| 国产精品―色哟哟| 日韩一区二区三区免费观看| 欧美日韩成人一区| 欧美人体做爰大胆视频| 欧美精品日日鲁夜夜添| 欧美日本一道本| 欧美一区二区三区四区在线观看| 久久99热这里只有精品| 老司机一区二区| 狠狠v欧美v日韩v亚洲ⅴ| 亚洲成人手机在线| 日韩不卡一二三区| 国产在线精品一区二区夜色 | 处破女av一区二区| 国产99精品国产| 不卡的av在线| 99亚偷拍自图区亚洲| 91色porny在线视频| 欧美色综合网站| 日韩免费观看高清完整版在线观看| 2020国产精品久久精品美国| 国产免费成人在线视频| 一区二区三区中文在线观看| 一区二区三区精品视频在线| 日本三级亚洲精品| 国产精品99久久久久久似苏梦涵| 99re成人在线| 欧美日本在线观看| 久久精品在线免费观看| 亚洲精品第一国产综合野| 日韩电影在线观看网站| 国产精品66部| 欧美日韩黄色影视| 久久精品人人做人人综合| 亚洲免费在线看| 日韩精品1区2区3区| 国产99久久久国产精品潘金 | 91最新地址在线播放| 911国产精品| 国产亚洲精品资源在线26u| 亚洲精品五月天| 寂寞少妇一区二区三区| 色婷婷精品大在线视频| 26uuu另类欧美| 一区二区三区在线视频免费观看| 国产成人精品免费看| 日韩免费高清电影| 午夜电影一区二区三区| 成人av电影观看| 国产日韩欧美亚洲| 久久电影网站中文字幕| 欧美日韩一区三区| 有码一区二区三区| 97国产一区二区| 国产欧美va欧美不卡在线| 激情图片小说一区| 欧美一级高清片在线观看| 一级做a爱片久久| 91麻豆高清视频| 亚洲婷婷综合色高清在线| 福利电影一区二区三区| 久久综合五月天婷婷伊人| 久久99精品国产.久久久久久| 9191久久久久久久久久久| 天天亚洲美女在线视频| 欧美浪妇xxxx高跟鞋交| 亚洲精品视频自拍| 欧美综合在线视频| 亚洲第一会所有码转帖| 欧美在线观看一二区| 一区二区三区在线播放| 91麻豆精品视频| 亚洲乱码国产乱码精品精98午夜| 99国产一区二区三精品乱码| 亚洲色图一区二区| 91在线观看视频| 亚洲狼人国产精品| 色乱码一区二区三区88| 亚洲国产视频一区二区| 欧美日韩国产片| 午夜精品久久久久久不卡8050| 欧美色图一区二区三区| 亚洲成人激情自拍| 911精品国产一区二区在线| 青青草原综合久久大伊人精品| 欧美一区二区性放荡片| 狠狠色狠狠色综合系列| 国产欧美一区二区精品秋霞影院| 国产白丝网站精品污在线入口| 久久久久国产精品厨房| 成人av资源网站| 亚洲乱码国产乱码精品精可以看| 欧美性受xxxx黑人xyx性爽| 五月天欧美精品| 日韩色视频在线观看| 国产一区二区三区在线观看精品| 国产目拍亚洲精品99久久精品| 91在线视频播放| 五月天网站亚洲| 久久久午夜电影| av色综合久久天堂av综合| 亚洲午夜激情av| 日韩欧美一级在线播放| 国产成人啪免费观看软件| 亚洲欧美一区二区三区久本道91 | 日韩欧美一级二级三级| 韩国中文字幕2020精品| 中文字幕日韩精品一区| 欧美老人xxxx18| 国产激情一区二区三区| 亚洲精品videosex极品| 欧美一区二区三区免费大片| 国产成人av网站| 亚洲影视在线播放| 精品国产乱码久久久久久老虎| 97久久超碰国产精品| 蜜桃视频在线一区| 亚洲视频免费在线| 日韩一区二区三区视频在线观看| 成人一区二区三区中文字幕| 首页国产欧美久久| 国产精品免费视频网站| 91精品一区二区三区在线观看| 国产成人精品一区二区三区网站观看| 亚洲欧美日韩国产手机在线| 精品精品欲导航| 91极品美女在线| 国产乱码精品一品二品| 亚洲午夜久久久久久久久电影网| 久久久久国产精品免费免费搜索| 欧美日韩一区在线观看| 成人免费视频一区二区| 日本中文字幕不卡| 亚洲三级在线免费| 久久久国产精品午夜一区ai换脸| 欧美日韩精品二区第二页| 成人精品电影在线观看| 美女视频一区二区| 亚洲一线二线三线久久久| 久久精品人人爽人人爽| 日韩一区二区三区在线视频| 色狠狠综合天天综合综合| 国产精品主播直播| 天堂午夜影视日韩欧美一区二区| 国产精品美女久久久久aⅴ国产馆| 欧美肥胖老妇做爰| 91国模大尺度私拍在线视频| 国产精品99久久久久久久vr| 免费看日韩a级影片| 亚洲一二三区在线观看| 自拍偷拍欧美激情| 国产日产亚洲精品系列| 91精品久久久久久久91蜜桃| 色综合天天做天天爱| 国产99一区视频免费| 国产自产高清不卡| 蜜臀av性久久久久蜜臀aⅴ | 色香蕉成人二区免费| 国产91高潮流白浆在线麻豆| 蜜桃av噜噜一区二区三区小说| 亚洲国产一区二区a毛片| 亚洲精品老司机| 亚洲日本电影在线| 国产精品免费aⅴ片在线观看| 久久精品一区二区三区av| 日韩精品在线一区二区| 日韩一区二区三区在线观看 | 亚洲一区二区精品久久av| 欧美国产激情一区二区三区蜜月| 欧美成人女星排行榜| 91精品福利在线一区二区三区| 欧美精品色一区二区三区| 欧美精品乱码久久久久久| 欧美色网一区二区| 欧美日本在线看|