📄 readme.vms
字号:
Brief instructions for building flex 2.5.x for VMS: 0) if you have either MMS (from Digital) or MMK (freeware) for useas a `make' utility, follow the directions in steps #1 through #5 below.If not, execute @BUILD.COM xxxCwhere "xxxC" is either "VAXC" or "DECC" or "GNUC", and then skip tostep #5. 1) set default to the source directory (not the [.MISC.VMS] subdirectorywhere this file is located). 2) COPY [.MISC.VMS]DESCRIP.MMS []*.*(Recursive invocations of `make' for the `bigcheck' test assume that themakefile will be found as descrip.mms in the current directory.)To build with VAX C for VAX/VMS: 3) MMS /MACRO=("VAXC=1") FLEX.EXE(The /macro qualifier is optional in this case.)To build with GNU C for VAX/VMS: 2.5) possibly edit descrip.mms to uncomment `SET COMMAND' for GCCINIT, depending on local site configuration 3) MMS /MACRO=("GNUC=1") FLEX.EXETo build with DEC C for either VAX/VMS or Alpha/VMS: 3) MMS /MACRO=("DECC=1") FLEX.EXE(Expect one or two informational messages from the compiler aboutimplicitly declared functions.)Minimal testing of the resulting program: 4) MMS CHECK(If `diff' reports no warnings, the test has succeeded.)More thorough testing: 4.5) MMS /MACRO=("xxxC=1") BIGCHECK ! "xxxC=1" as in step #3 above(If using an older version of MMK rather than MMS, this might fail when`make' is invoked recursively due to excessive BYTLM usage by MMK.)Installation (the VMS makefile does not support an `install' target;you'll need to do this part manually): 5) copy flex.exe, flex.doc, flex.skl, flexlib.olb, and FlexLexer.h tolocation(s) appropriate for your site. To use flex, define a "foreign"command by making a DCL symbol whose value begins with a dollar signimmediately followed by the filename for flex.exe, as in $ flex :== $local_tools:flex.exewhere `local_tools:' is the logical name pointing to flex.exe's location.This symbol will ordinarily be a candidate for your login.com. Wheninvoking flex, upper- or mixed-case command line options must be enclosedin quotes. For example, $ flex "-Pxyz" "-L" -t mylexer.l > mylexer.c(use prefix "xyz" instead of "yy", suppress `#line' compiler directivesin the output, write the output to `stdout', process file mylexer.l,and capture `stdout' in file mylexer.c). As illustrated here, this VMSversion of flex supports emulation of command line I/O redirection usedby Unix shells. flex.exe -- the executable image for the flex program; flex.doc -- documentation, the "man page" describing flex (flex.1 processed with `nroff -man' followed by `col -b'); flex.skl -- a text file containing flex's default skeleton; with this version of flex, it is for reference only; flex.exe does not need to know where to find it; flexlib.olb -- an object library containing some support routines; you might need to link your generated lexer against it, depending on how your program is designed; flex.exe does not access it; it corresponds to `libfl.a' under Unix; FlexLexer.h -- header file used for C++ class-based lexers; not needed for ordinary C lexers.Notes: This VMS port of flex supports only the original Unix command lineinterface, not the native DCL interface which was available for flex 2.3. build.com -- DCL command procedure as alternative to descrip.mms; descrip.mms -- 2.5.x makefile for use with MMS or MMK (see step #1); mkskel.tpu -- TPU program used to make skel.c from flex.skl for full build from scratch; performs same function as mkskel.sh; vms-conf.h -- pre-configured `conf.in', copied to [-.-]config.h; vms-code.c -- VMS-specific support code, copied to [-.-]vms-code.c; README.VMS -- this file
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -