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

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

?? comnd.doc

?? Documentation and source code Copyright (C) 1985 by Mark E. Mallett permission is granted to distr
?? DOC
?? 第 1 頁 / 共 3 頁
字號:




                                   C O M N D

                    A TOPS-20 style command parsing library
                            for personal computers




             Documentation  and  source  code Copyright (C) 1985 by Mark
        E. Mallett;  permission is granted to distribute  this  document
        and the  code  indiscriminately.  Please leave credits in place,
        and add your own as appropriate.


                                 A Disclaimer



             The code which implements this library takes up about  12Kb
        of  space  on my CP/M system using Manx's AZTEC CII Z80 compiler
        (10Kb with the date/time support stubbed out).   I  don't  claim
        that  the  coding  is  very  efficient  nor  do I make any other
        claims about the code  in  general.    I  do  believe  that  the
        definition  of  the  call  interface  is reasonable, and for me,
        this has made it quite usable.




                                 This Document



             This document contains the following sections:


         o Document overview (this here section)

         o Introduction and history

         o Functional overview

         o How to write programs using the subroutine library

         o How to make the library work on your system




                           Introduction and History



             This document describes the COMND subroutine package for  C
        programmers.    COMND   is   a   subroutine  library  to  effect
        consistent parsing of user input, and in general is well  suited
        for verb-argument   style   command  interfaces.    The  library
        provides a consistent  user  interface  as  well  as  a  program
        interface  which,  I believe, could well remain unchanged if the
        parsing library were re-written to support  different  interface
        requirements (such as menu interaction).

             The   COMND  interface  is  based  on  the  TOPS-20  model.
        TOPS-20 is an operating system  which  is/was  used  by  Digital
        Equipment Corporation  on  their  PDP-20  computer.  TOPS-20 was
        based on TENEX, written by BBN (I  think,  I  think).    TOPS-20
        COMND  is much more robust and consistent than the library which
        this document describes;  this library being intended for  small
        computer  applications,  it  provides  the  most  commonly  used
        functions.

             This library was written on a Z-80 system  running  Digital
        Research   Corporation's   CP/M  operating  system  version  3.0
        (CPM+).  I have also compiled and  tried  it  on  a  VAX  11/780
        running VMS.    It  is completely written in the C language, and
        contains only a few operating system specific elements.

             The COMND JSYS section of the TOPS-20 Monitor Calls  manual
        is probably a good thing to read.

             Please note:   while there are a few unimplemented sections
        of this library, I felt that it was nevertheless  worthwhile  to
        submit  it  to  public  domain since it is usable for almost all
        general command parsing and since the  call  interface  is  well
        defined.   I  have  used this library extensively since sometime
        in 1984.




                              Functional Overview




             The COMND subroutine library  provides  a  command-oriented
        user  interface  which is consistent at the programmer level and
        at the  user  level.    At  the  program  level,  it  gives   an
        algorithmically  controlled  parsing  flow,  where a call to the
        library exists  for  each  field  or  choice  of  fields  to  be
        parsed.

             At the user level, the interface provides:


         o Command prompting.

         o Consistent  command  line  editing.  The user may use editing
           keys to erase the last character or word,  and  to  echo  the
           current input line and prompt.

         o Input  abbreviation  and  defaulting.    The  user  may  type
           abbreviations of  keywords,  or  may  type  nothing  to  have
           defaults applied.

         o Incremental  help.    By  pressing  a  known  key  (usually a
           question mark), the user  can  find  out  what  choices  s/he
           has.

         o Guide  strings.    Parenthesized guide words are shown at the
           users option.

         o Command completion.  Where the subroutine library  can  judge
           what  the  succesful  completion  of  a portion of user input
           will be, the user can elect to have this input completed  and
           shown automatically.




                            Using the COMND Library



             While  you  read  this part of the document, you might want
        to look at the  sample  program  named  TEST.C  which  has  been
        included with  this  package.   It is an over-commented guide to
        the use of the COMND library.

             Any module which makes use of this  library  shall  include
        the definition   file  named  "comnd.h".    This  file  contains
        definitions  which   are   necessary   to   the   caller-library
        interface.   Mnemonics  (structures  and constants) mentioned in
        relation to this interface are defined in this file.

             The philosophy of parsing with the COMND library is that  a
        command  line  is  typed,  the  program  inspects  it,  then the
        program acts on  the  directions  given  in  that  line.    This
        process is  repeated  until  the  program  finishes.   The COMND
        library assists the user in typing  the  command  line  and  the
        program in  inspecting  it.    Acting  on  it  is left up to the
        calling program.

             The typing and parsing of fields in  the  command  line  go
        essentially hand-in-hand   with   this   library.    The  single
        subroutine COMND() is used to effect all parsing.  This  routine
        is  called  for  each  field  of  the  input  line to be parsed.
        Parsing is done according to a current  parse  state,  which  is
        maintained  in  a  parameter  block  passed  between  caller and
        library.   The  state  block  contains  the  following  sort  of
        information (described in detail later):


         o What to use for a prompt string.

         o  Addresses  of  scratch  buffers  for  user  input  and  atom
           storage.

         o How much the user has entered.

         o How much of the line the program has parsed.




             An important thing to note is that the  indexes  (how  much
        entered and  parsed)  are  both  variable.    The program begins
        parsing of the input line upon a break signal by the user  (such
        as the  typing  of  a carriage return, question mark, etc).  The
        user may then resume typing  and  erase  characters  back  to  a
        point BEFORE  that  already  parsed.   It is very important that
        the program does not take any action on  what  has  been  parsed
        until  the  line  has  been completely processed, otherwise that
        action could be undesired.

             Since the user may back up the command  input  to  a  point
        before  that  already  processed  by  the application program, a
        mechanism must be provided to backup the program to the  correct
        point.   Rather  than going to the point backed up to, the COMND
        library  expects  the  application  program  to  return  to  the
        beginning of  the  line,  and start again.  The user's input has
        remained in the command line buffer, and the library  will  take
        care  of  buffering  the rest of the input when that parse point
        is again reached.  However, this means  that  there  must  be  a
        method  of  communicating  to  the  calling  program  that  this
        "reparse" is  necessary.    Actually  there  are   two   methods
        provided, as follows:


         o  Each  call  to  the command parsing routine COMND() yields a
           result code.  The result may indicate that a reparse  has  to
           take place.    The  program  shall  then back up to the point
           where the parse of the line began, and start again.

         o The application program may specify the address of  a  setjmp
           buffer which  identifies  the reparse point.  (Note setjmp is
           a facility provided as part of  most  standard  C  libraries.
           It  allows  you  to  mark a point in the procedure flow [call
           frame,  registers,  and  whatever  else  is  involved  in   a
           context],  and  return to that point from another part of the
           program as if control  had  never  proceeded.    If  you  are
           unfamiliar  with  this  facility,  you  might  want to find a
           description in your C manual.) It is  up  to  the  caller  to
           setup the setjmp environment at the reparse point.


             In  either  case, the reparse point (the point at which the
        parse will be restarted if necessary) is the point at which  the
        first element  of the command line is parsed.  This is after the
        initialization call which starts every parse.




             Every  call  to  the  COMND()   subroutine   involves   two
        arguments:   a  command  state  block, in which is kept track of
        the parse state, and a command function block,  which  describes
        what sort  of  thing  to parse next.  The command state block is
        given a structure called "CSBs", and  a  typedef  called  "CSB".
        Each  element  of  the structure is named with a form "CSB_xxx",
        where "xxx" is representative of the  element's  purpose.    The
        following  are  the  elements of the command state block, in the
        order that they appear in the structure.


         o CSB_PFL is a BYTE.  This contains flags which are set by  the
           caller  to  indicate  specifics  of  the  command processing.
           These flags are:


            o _CFNEC:  Do not echo user input.

            o _CFRAI:  Convert lowercase input to uppercase.


         o CSB_RFL, a BYTE value, contains flags which are kept  by  the
           library in  the  performance  of the parse.  Generally, these
           flags  are  of  no  interest  to  the  caller   since   their
           information  can  be  gleaned  from  the  result  code of the
           COMND() call.  However, they are:


            o _CFNOP:  No  parse.    Nothing  matched,  i.e.,  an  error
              occured.

            o _CFESC:  Field terminated by escape.

            o _CFEOC:  Field terminated by CR.

            o _CFRPT:  Reparse required.

            o _CRSWT:  Switch ended with colon.

            o _CFPFE:  Previous field terminated with escape.


         o  CSB_RSB  is  the  address  of a setjmp buffer describing the

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
福利一区二区在线| 加勒比av一区二区| 国产精品三级电影| 国产女同性恋一区二区| 日韩女优毛片在线| 欧美成人艳星乳罩| 精品国内二区三区| 久久精品人人做人人爽97| 久久综合国产精品| 久久久久97国产精华液好用吗| 日韩欧美亚洲国产另类| 精品久久久网站| 精品国产百合女同互慰| 久久综合九色综合97婷婷| 欧美成人一区二区三区片免费| 欧美日韩不卡一区二区| 91精品国产全国免费观看| 欧美久久高跟鞋激| 精品理论电影在线| 久久精品欧美一区二区三区麻豆| 国产日产欧美一区二区视频| 国产精品―色哟哟| 一区二区三区四区激情 | 亚洲成人动漫在线观看| 亚洲国产日韩一区二区| 日本特黄久久久高潮| 国产一区二区三区香蕉| 91视频在线观看| 在线播放国产精品二区一二区四区| 3atv一区二区三区| 久久久噜噜噜久久人人看| 国产精品的网站| 日韩精品五月天| 成人小视频在线| 欧美日韩精品高清| 久久人人超碰精品| 亚洲成人福利片| 成人做爰69片免费看网站| 欧美日韩情趣电影| 国产婷婷色一区二区三区| 亚洲图片有声小说| 国产iv一区二区三区| 欧美精品在线观看播放| 欧美国产精品劲爆| 日韩va亚洲va欧美va久久| 国产成人亚洲综合a∨猫咪| 在线一区二区视频| 国产无一区二区| 日韩精品一二三四| 99国产精品99久久久久久| 日韩欧美第一区| 亚洲国产乱码最新视频| 岛国精品在线观看| 欧美精品一区二区三区很污很色的| 亚洲蜜臀av乱码久久精品蜜桃| 开心九九激情九九欧美日韩精美视频电影 | 精品欧美一区二区在线观看| 亚洲黄色在线视频| 夫妻av一区二区| 久久午夜色播影院免费高清| 亚洲高清在线精品| 成人av网在线| 日本一区二区久久| 精品一区二区三区视频| 在线视频观看一区| ...xxx性欧美| 福利一区福利二区| 久久精品亚洲国产奇米99 | 日韩午夜在线播放| 五月天网站亚洲| 欧美在线高清视频| 亚洲欧美欧美一区二区三区| 成人一区在线看| 久久一日本道色综合| 日韩黄色片在线观看| 欧美视频在线观看一区二区| 亚洲精品成人a在线观看| 99久久精品情趣| 国产精品久久午夜| www.在线欧美| 亚洲欧美激情插| 欧美在线观看视频一区二区三区 | 97久久精品人人澡人人爽| 国产欧美日韩精品一区| 国产精品乡下勾搭老头1| 久久免费电影网| 国产高清久久久久| 国产欧美精品区一区二区三区 | 一区二区三区四区不卡视频| 成人午夜在线视频| 最新国产精品久久精品| 99久久久精品免费观看国产蜜| 亚洲欧洲www| 欧洲视频一区二区| 天天av天天翘天天综合网| 日韩欧美亚洲一区二区| 国产综合色在线视频区| 中文无字幕一区二区三区| 99免费精品在线| 亚洲大片精品永久免费| 69av一区二区三区| 国产一区二区免费看| 国产精品每日更新在线播放网址 | 日韩一区二区三区视频在线| 久久精品久久久精品美女| 久久久久综合网| av一区二区三区四区| 一区av在线播放| 日韩精品在线一区二区| 成人小视频免费在线观看| 一区二区三区中文免费| 日韩色在线观看| 99久久99久久精品免费看蜜桃| 亚洲一区免费视频| 久久亚洲捆绑美女| 色屁屁一区二区| 久久99精品久久久久久国产越南 | 99精品视频中文字幕| 天天免费综合色| 中文文精品字幕一区二区| 欧美精品丝袜中出| 懂色av一区二区三区免费看| 亚洲国产精品欧美一二99| 久久久久久久一区| 欧美高清视频一二三区| 99国产精品99久久久久久| 久久99精品国产91久久来源| 一色屋精品亚洲香蕉网站| 日韩欧美一区在线| 在线免费一区三区| 福利91精品一区二区三区| 免费人成黄页网站在线一区二区| 国产精品乱人伦中文| 精品久久久三级丝袜| 欧美片网站yy| 在线亚洲免费视频| 不卡欧美aaaaa| 国产乱码精品1区2区3区| 日韩电影在线一区二区| 亚洲自拍都市欧美小说| 国产精品高潮呻吟| 国产欧美一区二区三区鸳鸯浴| 91精品国产麻豆| 欧美视频日韩视频在线观看| 99精品欧美一区| 成人av网在线| 成人免费va视频| 国产99精品在线观看| 国产麻豆日韩欧美久久| 国产一区视频网站| 韩国三级中文字幕hd久久精品| 日韩av电影一区| 亚洲 欧美综合在线网络| 亚洲国产日日夜夜| 亚洲精品精品亚洲| 亚洲欧美激情小说另类| 亚洲欧美日韩综合aⅴ视频| 亚洲视频免费观看| 国产精品不卡一区| 日韩美女啊v在线免费观看| 中文一区二区在线观看| 中文字幕av一区二区三区高| 国产蜜臀97一区二区三区| 国产日韩精品视频一区| 国产精品嫩草影院com| 国产精品日韩精品欧美在线| 国产日韩欧美一区二区三区综合| 久久综合色播五月| 久久久久综合网| 中文字幕免费一区| 亚洲色图在线播放| 亚洲电影一级黄| 美女久久久精品| 国产精品亚洲成人| 色综合天天综合网天天狠天天| 成人av第一页| av在线一区二区| 欧美日韩精品一二三区| 欧美一区2区视频在线观看| 欧美一区二区视频观看视频| 精品嫩草影院久久| 国产精品国产馆在线真实露脸| 亚洲男人的天堂av| 五月天一区二区| 国产精品夜夜爽| 在线免费观看日本一区| 欧美一区二区精品久久911| 久久久精品日韩欧美| 国产精品久久久久久久久免费相片| 亚洲视频一区二区在线观看| 午夜伦欧美伦电影理论片| 激情都市一区二区| 99精品黄色片免费大全| 欧美一卡二卡三卡四卡| 国产欧美一区二区在线观看| 亚洲图片欧美色图| 国产精品一区二区免费不卡 | 亚洲亚洲精品在线观看| 精品一区二区三区免费毛片爱| 国产白丝网站精品污在线入口|