📄 sys.p2crc
字号:
# Standard configuration file for "p2c" 1.21alpha-07.Dec.93, the Pascal to C translator# Copyright (C) 1989, 1990, 1991, 1992, 1993 Free Software Foundation.# Author: Dave Gillespie.# Author's address: daveg@synaptics.com.# This program is free software; you can redistribute it and/or modify# it under the terms of the GNU General Public License as published by# the Free Software Foundation (any version).# This program is distributed in the hope that it will be useful,# but WITHOUT ANY WARRANTY; without even the implied warranty of# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the# GNU General Public License for more details.# You should have received a copy of the GNU General Public License# along with this program; see the file COPYING. If not, write to# the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.# Note that all options except "Naming Conventions" and certain library# functions may be left blank or omitted entirely; the defaults are intended# to encompass a wide variety of "reasonable" implementations of C.# Option names are case-insensitive.# The single-valued options can all be overridden by a later line in# this file, or in your own "p2crc" or ".p2crc" file, or in comments# in the input file. To override an explicit value with the original# default, use the word "def".# Some options define printf-like format strings. These support all the# usual formatting codes, with additional features for string formatting.# The following extra "flag" characters are defined for %s:# _ Convert to lower case# ^ Convert to upper case# _^ Convert to lower except capitalize first char and after non-letters# ~ Insert '_' between lower case and following upper case letters# ! Remove '_' and other non-alphanumeric characters# ? Negates _ and ^ flags if name contains mixed case# R Remove file name suffix (e.g., "foo.pas" => "foo")# / Remove path name (prefix ending in /, \, ], or :)# Also, where a format includes several "%" arguments, they may# appear in either order in the string. When two string args are# involved, "%s" will refer to one and "%S" to the other. The# notation %H expands to the p2c home directory name, as in "%H/p2crc".# Many options simply refine defaults controlled by the Language, # AnsiC, C++, and Target options.Debug # Level of debugging outputTokenTrace # Additional debugging outputInclude # Additional p2crc files to be includedInclude # %s=program nameCopySource # 1=copy Pascal source code into output # file, #ifdef'd out.# INPUT LANGUAGELanguage # Known languages: # HP (default; Pascal Workstation version) # MODCAL (HP's advanced Pascal) # HP-UX (almost same as HP) # TURBO (vers 5.0 for IBM PC) # OREGON (Oregon Software Pascal-2 V2.1) # VAX (VAX/VMS Pascal) # MODULA (Modula-2) # UCSD (almost same as TURBO) # MPW (MPW Pascal 2.0 for the Mac) # OBJECT (Object Pascal, e.g., MPW or Think) # BERK (SUN Berkeley Pascal) # TIP (Texas Instruments Pascal)Modula2 # 1=Use modula-2 block structure (IF-END) # 0=Use Pascal block structure (IF-BEGIN-END) # default=1 if Language=MODULA, 0 for othersInteger16 # 1=assume Pascal integers are 16 bits # 0=assume Pascal integers are 32 bits # 2=use native C "int" for Pascal "integer" # default=0 for HP/Oregon/VAX, 1 for Turbo/MPWDoubleReals # 1=convert Pascal real to C double # 0=convert Pascal real to C float # default=1 for Turbo and HP-UX, 0 for HPUnsignedChar # 1=Pascal char must be unsigned # 0=Pascal char must be signed # 2=doesn't matter; use native C "char" # default=unsigned, but use native "char"NeedSignedByte # 1=use "signed char" even if not available # 0 or default=use "short" if not surePascalEnumSize # Size in BITS of a Pascal enum type. # Default=according to Language.NestedComments # 1=Pascal comments may be nested # 2=comments don't nest, but { must match } # 0=comments are unnested, unmatched # default=0 in HP/MODCAL, 2 in TurboExternWords external # Words analogous to "forward" for declaringExternWords extern # procedures or functions external.ExternWords fortranCExternWords nonpascal # Words like ExternWords but for which anyCExternWords # leading and/or trailing "_" is removedCExternWords # from the Pascal function/variable names.ImportAll # 1=read all of each imported file, in case # file contains several modules/units # 0=read only interface text of first module # default=1 in HP/MODCAL, 0 in othersImplModules # 1=MODULE starts a block like PROGRAM. # 0=MODULEs have export/implement sections.TurboObjects # 1=Turbo Pascal-style OOP support # 0=Object Pascal-style OOP support # default=1 in Turbo, 0 in MPW/ObjectPascalSignif # Number of significant characters in Pascal # identifiers; default=unlimitedPascalCaseSens # 1=Pascal idents are case-sensitive, # keywords and predef words are u.c. or l.c. # 2=case-sens, keywords and predef words u.c. # 3=case-sens, keywords and predef words l.c. # 0=not case-sensitive # default=2 in Modula-2, otherwise 0DollarIdents # 1='$' is legal in Pascal and C identifiers # 2=convert '$' (and '%') in idents into C '_' # 0='$' is for HP directives/Turbo hex consts # default=1 for Oregon & VAX Pascal onlyIgnoreNonAlpha # 1=ignore _, $, % in Pascal identifiers # 0=retain them (subject to DollarIdents) # default=1 for UCSD, 0 otherwiseSeekBase # Index of first record in a file, for SEEK. # default=0 for Turbo/UCSD/MPW, 1 otherwise.LowPrecLogicals # 1=AND, OR, NOT have lowest precedence. # 0=AND has same prec as *, OR same as +. # default=1 for TIP, 0 otherwise.CommonExtern # 1=TIP "common" variables are decl'd "extern" # 0 or default=TIP commons are decl'd plain.InputTabSize # Number of characters per tab stop in input # file, for reading Pascal indentation. # Default=8.ReplaceBefore # Textual replacements on input text lines:ReplaceBefore # "ReplaceBefore foo = bar" replaces allReplaceBefore # occurrences of "foo" with "bar" whileReplaceBefore # reading. Strings may be quoted if theyReplaceBefore # contain spaces or "=" signs. CurrentlyReplaceBefore # only literal matches are done, not patterns.# TARGET LANGUAGEAnsiC # 1=use all Ansi C features and definitions # 2=use GNU C language extensions # 0=use only original K&R features # default=use "modern" Unix-like CC++ # 1=use C++ extensions, # 0=use straight C, # default=generate code that works on eitherVoid* # 1=use "void *" for anyptr's # 0=use "char *" for anyptr's # default=1 if AnsiC=1 or C++=1HasSignedChar # 1="signed char" and "signed int" are legal # 0="signed ..." is not supported # default=1 if AnsiC=1CastNull # 1=must type-cast NULL into specific types # 0 or default=don't cast NULLCopyStructs # 0=no implicit copying of structs allowed # 1=can assign but not pass to/from funcs # 2=struct assignment and parameters only # 3=can assign, pass, and return structs # default=3 unless AnsiC=0VariableArrays # 1=allows variable-length arrays # 0=array sizes must be constant # default=1 for Gnu C, 0 otherwiseInitPACStrings # 1=can init char array with full-sized string # 0=string literal initializer always has \0 # default=1 if AnsiC=1, else 0ReUseFieldNames # 1=can use same field name in many structs # 0=field names must be globally unique # default=1UseVExtern # 1 or default=assume strict ANSI linkage # 0=UNIX-like "common" variable linkageUseAnyptrMacros # 1=use Anyptr, Signed, Static, etc. macros # 0=use true C constructs as specified above # 2=use Static, Local, Char only # default=2 if AnsiC=1, else 1UsePPMacros # 1=use PP and PV macros for prototypes # 0=do not use these macros for prototypes # 2=use them only for external/forward # default=0 if AnsiC=1, else 2MainType # Type name to put in front of "main"; # generally either "int" or "void". Blank # works on most systems.ReplaceAfter # Textual replacements on output text lines;ReplaceAfter # see ReplaceBefore for details.# TARGET MACHINETarget # machine name, if any. Specify this or answer # the following questions to tailor the output # program to a particular architecture. # Machines known: # HPUX-300, SUN-68K, BSD-VAX, BSD, SYSVSignedChar # 1=char is signed, 0=char is unsigned, # default=don't knowSignedField # 1="int" bit-fields in structs are signed, # 0="int" bit-fields are unsigned, # default=don't know but probably signed # 2=don't know, be paranoidSignedShift # 1=">>" does arithmetic (signed) shift, # 0=">>" does logical shift even for ints, # default=don't know but probably signed # 2=don't know, be paranoidCharSize # size in bits of a char, default at least 8ShortSize # size in bits of a short, default at least 16IntSize # size in bits of an int, default at least 16LongSize # size in bits of a long, default at least 32PtrSize # size in bits of a pointer. If not all # pointers have same size, must leave blank.FloatSize # size in bits of a floatDoubleSize # size in bits of a doubleEnumSize # size in bits of an enumSize_T_Long # 1=Ansi "size_t" type is long # 0=Ansi "size_t" type is int # default=don't know, probably long
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -