📄 sys.p2crc
字号:
ThreeSpecialArgs # arguments are "special".BreakArith # Options string for how to break lines at # arithmetic operators. One or more of: # L Break on left side of operator. # R Break on right side of operator. # H Same as L, but use "hanging" indent. # N No breaking. # L>R Break either way, L preferred (or R<L). # R>L Break either way, R preferred (or L<R). # L=R Break either way equally (or LR). # A (with above) Use all-or-none breaking. # Default is R.BreakRel # Same for relational ops (==, <, etc.)BreakLog # Same for logical operators && and ||BreakDot # Same for dot operators . and ->BreakAssign # Same for assignments.For_AllOrNone # 1 or default=all-or-none breaking of the # three clauses of a "for" statement. 0=plain.# COMMENTS AND BLANK LINESNoBanner # 1=omit "From input file..." comment # 0 or default=put this command at top of fileSlashSlash # 1=use C++ // for all comments except #define # 2=use C++ // even on #define lines # 0=use C /* */ for all comments # default=1 if C++=1, else 0EatComments # 1=don't copy any comments into C code # 2=don't copy comments inside procedures # 0 or default=keep all commentsSpitComments # 1=spit out all comments between procedures # 0 or default=try to attach comments to codeSpitOrphanComments # 1=spit out comments whose orig stmts are lost # 0 or default=attach orphans to nearby codeCommentAfter # 1=assume comments follow statements # 0 or default=assume comments precede stmts # (in case statements are rearranged.)BlankAfter # 1 or default=assume blank lines follow stmts # 0=assume blanks precede statementsMajorSpacing # Minimum number of blank lines between major # sections of code, default=2.MinorSpacing # Minimum number of blank lines between minor # sections, default=1.DeclSpacing # Minimum number of blank lines between decls # and function body, default=0 for C++, else 1.FuncSpacing # Minimum number of blank lines between global # functions, default=2.MinFuncSpacing # Minimum number of blank lines separating # sub-procedures, default=1.EatNotes # Suppress any notes whose text contains theseEatNotes # words. Example: "EatNotes Spam [216]"EatNotes # suppresses notes with "Spam" or "[216]".# SPECIAL COMMENTSFixedComment FIXED # Comment for fixed upper limit of FOR loops: # for i:=1 to N do {FIXED} # will suppress use of a FORLIM for N. # Case-sensitive; no spaces allowed.PermanentComment PERMANENT # Comment for permanently imported modules, # such as "system".InterfaceComment INTF-ONLY # Comment for include files which are to be # treated as unit interface text, i.e., are # to be read without generating C code.EmbedComment EMBED # Comment for embedded C code in Pascal: # {EMBED # printf("stuff\n"); # } # Use \[ \] for curly braces within embedded # code. May appear in any context where # comments are used.SkipComment SKIP # Comment for code to skip in p2c only: # {SKIP} writeln('Not in p2c'); {NOSKIP} # {SKIP} ... {NOSKIP} sections can be nested.NoSkipComment NOSKIP # Comment for code to skip except in p2c: # {NOSKIP writeln('Only in p2c'); } # Can be used in if-then-else fashion: # {SKIP} foo; {NOSKIP bar; } # {NOSKIP ... } sections can not be nested.SignedComment SIGNED # Type annotation: var c : {SIGNED} char;UnsignedComment UNSIGNED # Type annotation: type uc = {UNSIGNED} char;TagComment TAGGED # Comment for records that need struct tags: # var x : record {TAGGED} ... end;# STYLISTIC OPTIONSExtraParens # 1=use many parentheses for readability, # 2=use even more parentheses, # 0=use minimal parens, # default=use nice parensBreakAddParens # 1=always add parens for operators broken # across lines. 0=never, default=nice parensReturnParens # 1=write "return (x)" # 0=write "return x" # default=omit parens for trivial expressionsSpaceExprs # 1=use many spaces in expressions, # 0=use minimal spaces in expressions, # default=use nice spacingSpaceFuncs # 1=write a space after function name in call # 0 or default=no space: f(x)SpaceCommas # 1 or default=one space after commas: f(x, y) # 0=no space after commas: f(x,y)ImplicitZero # 1=generate "if (x)" rather than "if (x!=0)" # 0=always generate explicit comparisons # default=only with strcmp and other idiomsStarIndex # 1=always use "*a" # 0=always use "a[0]" # default=use "*a" only in common idiomsAddIndex # 1=always use "a + n" # 0=always use "&a[n]" # default=use "a+n" only in common idiomsStarArrays # 1 or default=write "f(int *a)" for array a # 0=write "f(int a[10])" # 2=write "f(int a[])"StarFunctions # 1=write "(*fp)(x,y)" to call thru func ptr # 0=write "fp(x,y)" # default=1 unless AnsiC=1SpaceStars # 1=write "int* x", "int& x". # 2=write "int *x" but "int& x". # 3=write "int* x" but "int &x". # 0 or default=write "int *x", "int &x".CallCasts # 1=write "int(x)" type casts. # 0=write "(int)x" type casts. # default=1 if C++=1, 0 otherwise.PostIncrement # 1 or default=write i++ preferentially # 0=write ++i preferentiallyCaseSpacing # Number of blank lines between CASE sections, # default=1.CaseTabs # 0 or default=put each CASE on its own line. # Else this is an amount by which to space # cases on same line, either +n or *n in the # style of ConstIndent.CaseLimit # Maximum number of options in a CASE subrange # that will be expanded out in-line; more than # this moves to an "if" in the default clause. # Default=9.UseCommas # 1=use comma operator when convenient # 0=do not use comma operator # default=use comma operator when necessaryUseReturns # 1 or default=introduce "return" statements # 0=do not rearrange to use "return"ReturnLimit # Need at least this many statements in an # "if" block before "return" rearrangement; # default=3UseBreaks # 1 or default=introduce "break"/"continue" # 0=do not use "break" and "continue"BreakLimit # Need at least this many statements in an # "if" block before "break" rearrangement; # default=2ContinueLimit # Need at least this many statements in an # "if" block before "continue" rearrangement; # default=5InfLoopStyle # 0 or default=follow the source file # 1=use "for (;;) ..." for all infinite loops # 2=use "while (1) ..." # 3=use "do ... while (1)"NullChar # 1 or default=write '\0' for null character # 0=write 0 for null character constantHighCharInt # 1 or default=write '\200' as 128 and above # 0=write all char consts as charactersAnonymousUnions # 1=use C++ anonymous unions for variant recs # 0=use regular C named unions # default=1 if C++=1, 0 otherwiseMixVars # 1=mix all vars of same base type: int a,b; # 0=never mix variables: int a; int b; # default=mix only adjacent variablesMixTypes # 1=mix all var types: int a,*b,c[5]; # 0=never mix variables with different types # default=pointers only: int a,*b; int c[5];MixFields # 1=mix bit-fields just like other vars # 0=only one bit-field per declaration # default=1MixInits # 1=always mix variables with initializers # 0=never mix variables with initializers # default=mix only in pleasing casesMainLocals # 1 or default=make globals local to main if poss # 0=globals are always made global# CODING OPTIONSInitialCalls # Initial function calls (or other brief CInitialCalls # statements) to put at front of main program.InitialCalls # E.g.: InitialCalls setup_buffer()ExpandIncludes # 1 or default=expand include files into output # 0=convert Pascal include to #includeCollectNest # 1 or default=collect sub-procs, emit at end. # 0=emit sub-procedures one by one; this will # produce bad code but is useful with # ExpandIncludes=0.ShortCircuit # 1=use &&, 0=use & for boolean AND, also OR. # default=1 for Turbo/HP-UX, 0 for HP Pascal # may be overridden by {$B} / $partial_eval$ShortOpt # 1 or default=optimize a&b to a&&b if equiv # 0=always use a&b, depending on ShortCircuitElimDeadCode # 1 or default=eliminate unreachable code # 2=even eliminate "if (false)" statements # 0=leave unreachable code in placeAnalyzeFlow # 1 or default=perform data flow analysis # 0=make no assumptions based on data flow
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -