亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
久久久精品免费网站| 美美哒免费高清在线观看视频一区二区| 26uuu国产日韩综合| 亚洲欧洲三级电影| 日韩电影在线免费看| 国产精品影音先锋| 在线精品亚洲一区二区不卡| 欧美一区三区二区| 亚洲女性喷水在线观看一区| 视频一区视频二区中文| 91在线免费看| 国产无遮挡一区二区三区毛片日本| 亚洲一区在线看| 99国产精品视频免费观看| 欧美变态tickle挠乳网站| 亚洲成人动漫一区| 91美女视频网站| 国产精品私人影院| 韩国女主播成人在线| 欧美精品成人一区二区三区四区| 国产精品美女久久久久高潮| 精品一区二区三区欧美| 欧美久久久久久蜜桃| 亚洲综合久久av| 久久99精品久久久久久久久久久久| 欧美中文字幕亚洲一区二区va在线 | 99精品黄色片免费大全| 日韩欧美一级在线播放| 丝袜亚洲另类欧美综合| 欧美日韩亚洲综合| 亚洲一区电影777| 91高清视频免费看| 亚洲精品乱码久久久久久黑人| 国产 欧美在线| 国产午夜精品一区二区| 丁香啪啪综合成人亚洲小说| 国产亚洲综合色| 国产福利电影一区二区三区| 精品成人佐山爱一区二区| 久久不见久久见免费视频1| 欧美成人三级在线| 国产精品亚洲第一区在线暖暖韩国 | 中文字幕在线观看一区| 99热国产精品| 亚洲精品乱码久久久久久黑人 | 国产一区二区福利视频| 久久这里都是精品| 国产精品88888| 中文字幕中文字幕在线一区| 91欧美激情一区二区三区成人| 亚洲天堂网中文字| 日本高清不卡在线观看| 婷婷成人综合网| 欧美xxxxx裸体时装秀| 国产精品一区二区果冻传媒| 亚洲成a人v欧美综合天堂| 在线免费不卡电影| 午夜激情一区二区| 日韩欧美国产综合一区| 国产综合色视频| 国产女人水真多18毛片18精品视频| 国产馆精品极品| 一区二区在线电影| 制服丝袜在线91| 国产乱一区二区| 最新国产精品久久精品| 777午夜精品免费视频| 国产在线不卡一卡二卡三卡四卡| 国产精品色眯眯| 欧美狂野另类xxxxoooo| 国产麻豆成人精品| 亚洲一区欧美一区| 久久综合久色欧美综合狠狠| 91免费看`日韩一区二区| 日韩电影在线免费看| 国产精品午夜春色av| 4438成人网| 国产精品自拍网站| 久久久99久久| 在线看日韩精品电影| 美腿丝袜在线亚洲一区| 中文字幕国产精品一区二区| 欧美亚男人的天堂| 国产在线精品不卡| 午夜精品福利在线| 中文字幕日韩一区| 欧美va亚洲va国产综合| 色欧美88888久久久久久影院| 久久国产精品第一页| 一区二区三区精品久久久| 久久色中文字幕| 欧美精品久久天天躁| 色域天天综合网| 国产91丝袜在线播放| 六月丁香婷婷久久| 午夜精品久久久久影视| 依依成人精品视频| ●精品国产综合乱码久久久久 | 另类小说视频一区二区| 国产精品天干天干在线综合| 91精品国产色综合久久不卡电影| 成人黄动漫网站免费app| 麻豆精品一区二区综合av| 亚洲综合成人在线| 亚洲品质自拍视频| 国产精品视频一二| 久久久噜噜噜久噜久久综合| 日韩三级在线免费观看| 91麻豆精品国产91久久久更新时间| 91蜜桃网址入口| 91原创在线视频| 99久久国产综合精品女不卡| 丰满放荡岳乱妇91ww| 国产精品一色哟哟哟| 国产一区二区三区最好精华液| 欧美bbbbb| 麻豆极品一区二区三区| 麻豆国产欧美日韩综合精品二区 | 中文字幕在线一区| 日韩电影在线看| 欧美精品电影在线播放| 91欧美一区二区| 99re视频这里只有精品| 99在线精品视频| gogo大胆日本视频一区| 粉嫩欧美一区二区三区高清影视| 国产一区视频网站| 韩国一区二区视频| 福利一区在线观看| 成人av网站在线观看| 99久久伊人网影院| 91福利视频久久久久| 欧美日韩国产成人在线免费| 这里只有精品视频在线观看| 日韩欧美卡一卡二| 久久久www成人免费毛片麻豆 | 成人黄色a**站在线观看| 99综合影院在线| 欧美写真视频网站| 欧美一级精品在线| 欧美国产丝袜视频| 另类人妖一区二区av| 亚洲午夜国产一区99re久久| 亚洲已满18点击进入久久| 三级影片在线观看欧美日韩一区二区 | 国产精品一色哟哟哟| 91在线国产观看| 欧美一区二区三区视频免费播放| 精品久久久久久最新网址| 国产女主播视频一区二区| 亚洲五月六月丁香激情| 久久国产欧美日韩精品| av成人免费在线观看| 在线成人免费观看| 国产精品女人毛片| 五月综合激情婷婷六月色窝| 国产精品亚洲成人| 欧美日本在线播放| 国产精品美女视频| 一本一道综合狠狠老| 在线成人免费视频| 亚洲视频免费在线| 久久精品免费观看| 色婷婷激情久久| 久久―日本道色综合久久| 亚洲欧美乱综合| 婷婷夜色潮精品综合在线| 懂色av一区二区在线播放| 欧美日韩在线播| 中文字幕精品一区| 免费在线观看视频一区| 色哟哟国产精品免费观看| 亚洲精品在线三区| 偷拍与自拍一区| 色婷婷激情综合| 久久久九九九九| 老司机免费视频一区二区| 欧美三级一区二区| 欧美区在线观看| 亚洲精品国产精华液| 不卡av在线网| 中文字幕av资源一区| 国内外精品视频| 欧美一区二区久久久| 亚洲国产cao| 在线观看国产91| 亚洲精品久久久久久国产精华液| 国产成人亚洲精品青草天美| 欧美一级久久久| 日本不卡一二三| 欧美二区在线观看| 婷婷综合久久一区二区三区| 欧洲另类一二三四区| 亚洲精品成人天堂一二三| 99riav一区二区三区| 天堂久久久久va久久久久| 国产精品一区二区视频| 91麻豆精品国产91久久久久| 亚洲成人在线观看视频| 日本精品视频一区二区|