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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? pascal.atg

?? 自己寫的關(guān)于編譯原理的實(shí)驗(yàn)報(bào)告的源代碼
?? ATG
字號(hào):
COMPILER Pascal
/* J & W Pascal - not Turbo Pascal */
/* This grammar is not LL(1) */

CHARACTERS
  eol      = CHR(13) .
  letter   = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" .
  digit    = "0123456789".
  noQuote1 = ANY - "'" - eol .

IGNORE CHR(9) .. CHR(13)
IGNORE CASE

COMMENTS FROM "(*" TO "*)"
COMMENTS FROM "{" TO "}"

TOKENS
  identifier  =  letter { letter | digit } .
  integer     =  digit { digit } | digit { digit }  CONTEXT ("..") .
  real        =  digit { digit } "." digit { digit }
                 [ "E" ["+" | "-"] digit { digit } ]
                 |  digit { digit } "E" ["+" | "-"] digit { digit }  .
  string      = "'" { noQuote1 | "''" } "'" .

PRODUCTIONS

  Pascal            = "program"  NewIdent [ ExternalFiles ] ";"
                      Block "." .

  ExternalFiles     = "(" NewIdentList ")" .

  Block             =  DeclarationPart StatementPart .

  DeclarationPart   = LabelDeclarations ConstDefinitions
                      TypeDefinitions VarDeclarations
                      { ProcDeclarations } .

/* -------------------------------------------------------------------- */

  LabelDeclarations = [ "label" Labels ";" ] .

  Labels            = Label { "," Label } .

  Label             = UnsignedInt .

/* -------------------------------------------------------------------- */

  ConstDefinitions  = [ "const" ConstDef { ConstDef } ] .

  ConstDef          = NewIdent "=" Constant ";" .

  Constant          = [ "+" | "-" ] ( UnsignedNumber | ConstIdent ) | String .

  UnsignedNumber    = UnsignedInt | UnsignedReal .

  ConstIdent        = identifier .

/* -------------------------------------------------------------------- */

  TypeDefinitions   = [ "type" TypeDef { TypeDef } ] .

  TypeDef           = NewIdent "=" Type ";" .

  Type              = SimpleType | [ "packed" ] StructType | "^" TypeIdent .

  SimpleType        = TypeIdent | EnumerationType | SubrangeType .

  TypeIdent         = identifier .

  EnumerationType   = "(" NewIdentList ")" .

  SubrangeType      = Constant ".." Constant .

  StructType        = ArrayType | RecordType | SetType | FileType .

  ArrayType         = "array" "[" IndexList "]" "of" Type .

  IndexList         = SimpleType { "," SimpleType } .

  RecordType        = "record" FieldList "end" .

  SetType           = "set" "of" SimpleType .

  FileType          = "file" "of" Type .

  FieldList         = [ ( fixedPart [ ";" VariantPart ] | VariantPart ) [ ";" ] ] .

  fixedPart         = RecordSection { ";" RecordSection } .

  RecordSection     = NewIdentList ":" Type .

  VariantPart       = "case" VariantSelector "of" Variant { ";" Variant } .

  VariantSelector   = [ NewIdent ":" ] TypeIdent .

  Variant           = CaseLabelList ":" "(" FieldList ")" .

/* -------------------------------------------------------------------- */

  VarDeclarations   = [ "var" VarDecl { VarDecl } ] .

  VarDecl           = NewIdentList ":" Type ";" .

/* -------------------------------------------------------------------- */

  ProcDeclarations  = ( ProcHeading | FuncHeading ) ";" Body ";" .

  ProcHeading       = "procedure" NewIdent [ FormalParams ] .

  FuncHeading       = "function" NewIdent [ FormalParams ] ReturnType .

  ReturnType        = [ /* empty if forward referenced */ ":" TypeIdent ] .

  Body              = Block | "forward" .

  FormalParams      = "(" FormalSection { ";" FormalSection } ")"  .

  FormalSection     = [ "var" ] ParamGroup | ProcHeading | FuncHeading .

  ParamGroup        = NewIdentList ":" ParamType .

  ParamType         =   TypeIdent
                      | "array" "[" IndexSpecList "]" "of" ParamType
                      | "packed" "array" "[" IndexSpec "]" "of" TypeIdent .

  IndexSpecList     = IndexSpec { ";" IndexSpec } .

  IndexSpec         = NewIdent ".." NewIdent ":" TypeIdent .

/* -------------------------------------------------------------------- */

  StatementPart     = CompoundStatement .

  CompoundStatement = "begin" StatementSequence "end" .

  StatementSequence = Statement { ";" Statement } .

  Statement         = [ Label ":" ]
                      [   AssignmentOrCall
                        | CompoundStatement
                        | GotoStatement
                        | WhileStatement
                        | RepeatStatement
                        | IfStatement
                        | CaseStatement
                        | ForStatement
                        | WithStatement ] .

  AssignmentOrCall  = Designator ( ":=" Expression | [ ActualParams ] ) .

  ActualParams      = "(" ActualParameter { "," ActualParameter } ")" .

  ActualParameter   = Expression [ FieldWidth /* only in i/o */ ] .

  FieldWidth        = ":" IntegerExpression [ ":" IntegerExpression ] .

  GotoStatement     = "goto" Label .

  WhileStatement    = "while" BooleanExpression "do" Statement .

  RepeatStatement   = "repeat" StatementSequence "until" BooleanExpression .

  IfStatement       = "if" BooleanExpression "then" Statement
                      [ "else" Statement ] .

  CaseStatement     = "case" OrdinalExpression "of" CaseList "end" .

  CaseList          = OneCase { ";" OneCase } [ ";" ] .

  OneCase           = CaseLabelList ":" Statement .

  CaseLabelList     = CaseLabel { "," CaseLabel } .

  CaseLabel         = Constant .

  ForStatement      = "for" ControlVariable ":=" OrdinalExpression
                      ( "to" | "downto" ) OrdinalExpression "do" Statement .

  ControlVariable   = identifier .

  WithStatement     = "with" RecVarList "do" Statement .

  RecVarList        = Designator { "," Designator } .

/* -------------------------------------------------------------------- */

  IntegerExpression = Expression .

  BooleanExpression = Expression .

  OrdinalExpression = Expression .

  Expression        = SimpleExpression [ RelOp SimpleExpression ] .

  RelOp             = "=" | "<" | ">" | "<=" | ">=" | "<>" | "in" .

  SimpleExpression  = ( "+" Term | "-" Term | Term ) { AddOp Term } .

  AddOp             = "+" | "-" | "or" .

  Term              = Factor { MulOp Factor } .

  MulOp             = "*" | "/" | "div" | "mod" | "and" .

  Factor            =   Designator [ ActualParams ]
                      | UnsignedLiteral
                      | SetConstructor
                      | "(" Expression ")"
                      | "not" Factor .

  Designator        = identifier { "." identifier | "[" ExpList "]" | "^" } .

  ExpList           = Expression { "," Expression } .

  UnsignedLiteral   = UnsignedNumber | "nil" | String .

  SetConstructor    = "[" Member { "," Member } "]" .

  Member            = Expression [ ".." Expression ] .

/* -------------------------------------------------------------------- */

  NewIdentList      = NewIdent { "," NewIdent } .

  NewIdent          = identifier .

  UnsignedInt       = integer .

  UnsignedReal      = real .

  String            = string .

END Pascal.

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧洲av色图| 欧美日韩夫妻久久| 国产性做久久久久久| 国产黄色成人av| 国产精品免费免费| 一本高清dvd不卡在线观看| 亚洲精品久久7777| 制服.丝袜.亚洲.中文.综合| 奇米综合一区二区三区精品视频| 日韩精品一区二| 国产精品 日产精品 欧美精品| 国产精品久久久久久久久久久免费看| 9色porny自拍视频一区二区| 亚洲一区二区中文在线| 日韩一区二区在线免费观看| 国产成+人+日韩+欧美+亚洲| 一区二区在线观看免费| 欧美人伦禁忌dvd放荡欲情| 久草中文综合在线| 国产精品萝li| 欧美日韩电影在线播放| 国产一区二三区好的| 亚洲视频精选在线| 6080国产精品一区二区| 粉嫩嫩av羞羞动漫久久久| 亚洲一区二区三区美女| 久久奇米777| 欧美综合一区二区| 久久99国产精品麻豆| **欧美大码日韩| 日韩女优制服丝袜电影| 99久久久久久| 久久精品国产秦先生| 中文字幕一区二区三区在线播放| 欧美精品 国产精品| 国产成人av网站| 天天影视涩香欲综合网| 中文字幕不卡在线播放| 正在播放亚洲一区| 99久久99久久免费精品蜜臀| 蜜桃视频一区二区| 亚洲男人天堂av| 久久久美女毛片 | 国产91丝袜在线播放0| 亚洲自拍欧美精品| 国产目拍亚洲精品99久久精品| 欧美日韩美女一区二区| 成人18精品视频| 精品一区二区三区久久| 亚洲国产人成综合网站| 国产精品丝袜黑色高跟| 精品国产一区二区三区久久影院 | www.久久久久久久久| 免费观看一级欧美片| 亚洲制服欧美中文字幕中文字幕| 欧美国产1区2区| 精品卡一卡二卡三卡四在线| 欧美电影一区二区三区| 欧美在线三级电影| 91在线你懂得| 成人国产精品视频| 国产精品996| 久久av老司机精品网站导航| 日产国产欧美视频一区精品| 亚洲一区二区在线播放相泽| 亚洲美女精品一区| 国产精品久久毛片| 欧美国产精品专区| 国产欧美一区二区精品仙草咪| 亚洲精品一线二线三线| 欧美zozozo| 精品捆绑美女sm三区| 日韩视频免费观看高清在线视频| 欧美电影一区二区三区| 在线播放国产精品二区一二区四区| 在线视频国内一区二区| 欧美性色黄大片| 欧美三级日韩在线| 欧美日韩日日摸| 欧美日本一道本| 91精品国产aⅴ一区二区| 91精品婷婷国产综合久久竹菊| 国产精品三级电影| 久久精品无码一区二区三区| 2021中文字幕一区亚洲| 精品伦理精品一区| 国产精品成人在线观看| 国产精品午夜免费| 日韩毛片高清在线播放| 国产欧美精品一区aⅴ影院 | 日韩手机在线导航| 成人av网站在线| 美女性感视频久久| 成人综合在线观看| 欧美日本在线看| 国产精品夫妻自拍| 日韩成人精品在线| 色综合夜色一区| 久久蜜桃av一区二区天堂 | 日韩精品欧美精品| 成人高清视频在线观看| 日韩精品中文字幕一区二区三区 | 欧美一级日韩不卡播放免费| 中文字幕佐山爱一区二区免费| 麻豆成人av在线| 欧美四级电影在线观看| 中文字幕不卡的av| 精品亚洲国产成人av制服丝袜| 欧美性猛片aaaaaaa做受| 欧美激情一区二区三区| 久久国产精品99久久人人澡| 欧美日韩亚洲综合在线 | 成人免费视频免费观看| 日韩片之四级片| 亚洲成精国产精品女| 成a人片亚洲日本久久| 精品少妇一区二区三区在线视频| 亚洲电影第三页| 日本国产一区二区| 日韩码欧中文字| 成人av集中营| 中文字幕av一区二区三区| 国内久久婷婷综合| 日韩午夜激情电影| 日产国产欧美视频一区精品| 欧美老年两性高潮| 午夜在线成人av| 欧美性大战久久久久久久| 一区二区三区国产精品| 一本色道**综合亚洲精品蜜桃冫| 成人欧美一区二区三区| av电影天堂一区二区在线观看| 欧美极品少妇xxxxⅹ高跟鞋| 国产高清久久久久| 久久精品男人天堂av| 国产精品一二三四区| 久久网站最新地址| 国产精品一区免费视频| 91精品久久久久久久久99蜜臂 | 热久久国产精品| 欧美电影在哪看比较好| 人妖欧美一区二区| 日韩你懂的电影在线观看| 黄网站免费久久| 亚洲伊人伊色伊影伊综合网| 色噜噜狠狠一区二区三区果冻| 一区二区三区91| 欧美日韩国产在线播放网站| 天天av天天翘天天综合网| 欧美高清一级片在线| 久久国产精品72免费观看| 久久亚洲精华国产精华液| 国产宾馆实践打屁股91| 国产精品成人一区二区三区夜夜夜| 91在线播放网址| 一区二区三区欧美视频| 欧美疯狂做受xxxx富婆| 久久99深爱久久99精品| 中文无字幕一区二区三区 | 亚洲成人免费av| 欧美一区二区女人| 国产精品99久久久久久似苏梦涵 | 亚洲精品国产视频| 欧美喷潮久久久xxxxx| 另类小说一区二区三区| 国产精品日韩精品欧美在线| 91啦中文在线观看| 日本大胆欧美人术艺术动态| 欧美mv日韩mv| 91小宝寻花一区二区三区| 午夜精品福利视频网站| 精品国产青草久久久久福利| 99国产欧美久久久精品| 午夜亚洲福利老司机| 久久久无码精品亚洲日韩按摩| www.av精品| 男女男精品视频| 国产精品久久毛片| 91麻豆精品国产综合久久久久久| 国产成人啪午夜精品网站男同| 亚洲自拍都市欧美小说| 26uuu色噜噜精品一区| 91精品办公室少妇高潮对白| 久久电影国产免费久久电影| 国产精品国产三级国产aⅴ入口| 欧美人xxxx| 成人网在线免费视频| 日韩av一区二区三区| 国产精品护士白丝一区av| 日韩欧美aaaaaa| 欧洲亚洲精品在线| 欧美日韩国产首页在线观看| 国产精品1区2区3区在线观看| 五月天激情小说综合| 天天射综合影视| 国产精品综合在线视频| 中文字幕视频一区| 日韩欧美成人激情| 一本色道a无线码一区v| 国产一区二区日韩精品|