Tell stc to NOT to inline #not as it has different meaning in PetitParser...
"{ Package: 'stx:goodies/petitparser/compiler' }"
"{ NameSpace: Smalltalk }"
LibraryDefinition subclass:#stx_goodies_petitparser_compiler
instanceVariableNames:''
classVariableNames:''
poolDictionaries:''
category:'* Projects & Packages *'
!
!stx_goodies_petitparser_compiler class methodsFor:'accessing - monticello'!
monticelloLastMergedVersionInfo
"The last merged version is: "
^ '
Name: PetitCompiler-JanKurs.71
Author: JanKurs
Time: 18-11-2014, 09:48:35.425 AM
UUID: 06352c33-3c76-4382-8536-0cc48e225117
Repository: http://smalltalkhub.com/mc/JanKurs/PetitParser/main
'
"Created: / 03-10-2014 / 02:27:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
"Modified: / 21-11-2014 / 12:40:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
monticelloName
"Return name of the package for Monticello. This is used when package is exported"
^ 'PetitCompiler'
"Created: / 03-10-2014 / 01:47:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
"Modified: / 26-10-2014 / 01:27:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!stx_goodies_petitparser_compiler class methodsFor:'description'!
excludedFromPreRequisites
"list packages which are to be explicitely excluded from the automatic constructed
prerequisites list. If empty, everything that is found along the inheritance of any of
my classes is considered to be a prerequisite package."
^ #(
)
!
mandatoryPreRequisites
"list packages which are mandatory as a prerequisite.
This are packages containing superclasses of my classes and classes which
are extended by myself.
They are mandatory, because we need these packages as a prerequisite for loading and compiling.
This method is generated automatically,
by searching along the inheritance chain of all of my classes."
^ #(
#'stx:goodies/petitparser' "PPActionParser - extended"
#'stx:goodies/petitparser/parsers/smalltalk' "PPSmalltalkGrammar - extended"
#'stx:libbasic' "Character - extended"
)
!
referencedPreRequisites
"list packages which are a prerequisite, because they contain
classes which are referenced by my classes.
We do not need these packages as a prerequisite for compiling or loading,
however, a class from it may be referenced during execution and having it
unloaded then may lead to a runtime doesNotUnderstand error, unless the caller
includes explicit checks for the package being present.
This method is generated automatically,
by searching all classes (and their packages) which are referenced by my classes."
^ #(
#'stx:libbasic2' "Stack - referenced by PPCCompiler>>initialize"
)
!
stcOptimizationOptions
"do not inline the not operation here - it is overwritten"
^ super stcOptimizationOptions , ' -inlinenot'
"Created: / 13-04-2015 / 14:18:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
subProjects
"list packages which are known as subprojects.
The generated makefile will enter those and make there as well.
However: they are not forced to be loaded when a package is loaded;
for those, redefine requiredPrerequisites."
^ #(
)
! !
!stx_goodies_petitparser_compiler class methodsFor:'description - contents'!
classNamesAndAttributes
"lists the classes which are to be included in the project.
Each entry in the list may be: a single class-name (symbol),
or an array-literal consisting of class name and attributes.
Attributes are: #autoload or #<os> where os is one of win32, unix,..."
^ #(
"<className> or (<className> attributes...) in load order"
PPCBridge
PPCCompiledMethod
PPCCompiler
PPCContext
PPCContextMemento
PPCGuard
PPCMethod
PPCMethodStrategy
PPCNode
PPCOptimizationResult
PPCompiledParser
#'stx_goodies_petitparser_compiler'
PPCAbstractCharacterNode
PPCAbstractLiteralNode
PPCAbstractPredicateNode
PPCAnyNode
PPCDelegateNode
PPCInlinedMethod
PPCListNode
PPCNilNode
PPCPluggableNode
PPCProfilingContext
PPCUnknownNode
PPCAbstractActionNode
PPCAndNode
PPCCharSetPredicateNode
PPCCharacterNode
PPCChoiceNode
PPCForwardNode
PPCInlineAnyNode
PPCInlineCharacterNode
PPCInlineNilNode
PPCInlinePluggableNode
PPCLiteralNode
PPCMessagePredicateNode
PPCNegateNode
PPCNotCharSetPredicateNode
PPCNotLiteralNode
PPCNotMessagePredicateNode
PPCNotNode
PPCOptionalNode
PPCPlusNode
PPCPredicateNode
PPCSentinelNode
PPCSequenceNode
PPCStarNode
PPCTokenNode
PPCTrimNode
PPCTrimmingTokenNode
PPCActionNode
PPCInlineCharSetPredicateNode
PPCInlineLiteralNode
PPCInlineMessagePredicateNode
PPCInlineNotCharSetPredicateNode
PPCInlineNotLiteralNode
PPCInlineNotMessagePredicateNode
PPCStarAnyNode
PPCStarCharSetPredicateNode
PPCStarMessagePredicateNode
PPCSymbolActionNode
PPCTokenSequenceNode
PPCTokenActionNode
PPCTokenStarMessagePredicateNode
PPCInlineTokenStarMessagePredicateNode
PPCTokenStarSeparatorNode
PPCInlineTokenStarSeparatorNode
)
!
extensionMethodNames
"list class/selector pairs of extensions.
A correponding method with real names must be present in my concrete subclasses"
^ #(
Character ppcPrintable
Object isInlinedMethod
PPActionParser asCompilerNode
PPActionParser compileWith:
PPAndParser asCompilerNode
PPCharSetPredicate block
PPCharSetPredicate classification
PPCharSetPredicate equals:
PPChoiceParser asCompilerNode
PPChoiceParser compileWith:
PPContext asCompiledParserContext
PPContext comment
PPContext comment:
PPContext compiledParser
PPContext compiledParser:
PPContext lwRemember
PPContext lwRestore:
PPContext peek:
PPContext whitespace
PPContext whitespace:
PPDelegateParser asCompilerNode
PPDelegateParser compileWith:
PPEpsilonParser asCompilerNode
PPEpsilonParser compileWith:
PPFailure context:
PPFailure message:
PPFailure position:
PPLiteralObjectParser asCompilerNode
PPLiteralObjectParser compileWith:
PPLiteralParser id
PPLiteralSequenceParser asCompilerNode
PPLiteralSequenceParser compileWith:
PPNotParser asCompilerNode
PPNotParser compileWith:
PPOptionalParser asCompilerNode
PPOptionalParser compileWith:
PPParser asCompilerNode
PPParser asCompilerTree
PPParser bridge
PPParser compile
PPParser compile:
PPParser compile:andParse:
PPParser compile:parameters:
PPParser compileWith:
PPParser compileWithParameters:
PPParser firstSetSuchThat:
PPParser firstSetSuchThat:into:openSet:
PPParser id
PPParser isCompiled
PPParser isContextFree
PPParser isContextFreePrim
PPParser isToken
PPParser isTokenParser
PPParser optimize
PPParser optimized
PPParser trimmingToken
PPPluggableParser acceptsEpsilon
PPPluggableParser asCompilerNode
PPPossessiveRepeatingParser asCompilerNode
PPPossessiveRepeatingParser compileWith:
PPPredicateObjectParser asCompilerNode
PPPredicateObjectParser compileWith:
PPPredicateObjectParser firstCharSet
PPPredicateObjectParser firstCharSetCached
PPSequenceParser asCompilerNode
PPSequenceParser compileWith:
PPSequenceParser firstSetSuchThat:into:openSet:
PPSmalltalkGrammar comment
PPSmalltalkGrammar updateContext:
PPSmalltalkGrammar whitespace
PPSmalltalkTokenParser compileWith:
PPSmalltalkTokenParser parseOnX:
PPSmalltalkTokenParser updateContext:
PPSmalltalkTokenParser whitespace
PPSmalltalkWhitespaceParser #'='
PPSmalltalkWhitespaceParser acceptsEpsilon
PPSmalltalkWhitespaceParser acceptsEpsilonOpenSet:
PPSmalltalkWhitespaceParser firstCharSet
PPStream peek:
PPToken #'='
PPToken hash
PPToken isToken
PPTokenParser asCompilerNode
PPTokenParser displayName
PPTokenParser firstSets:into:
PPTokenParser isFirstSetTerminal
PPTokenParser isTokenParser
PPTokenParser optimize
PPTokenParser parser
PPTokenParser startsWith:
PPTokenParser whitespace
PPTrimmingParser asCompilerNode
PPTrimmingParser compileWith:
PPTrimmingParser firstSets:into:
UndefinedObject asInteger
UndefinedObject isAlphaNumeric
UndefinedObject isDigit
UndefinedObject isLetter
UndefinedObject isSeparator
)
! !
!stx_goodies_petitparser_compiler class methodsFor:'description - project information'!
companyName
"Returns a company string which will appear in <lib>.rc.
Under win32, this is placed into the dlls file-info"
^ 'eXept Software AG'
!
description
"Returns a description string which will appear in nt.def / bc.def"
^ 'Smalltalk/X Class library'
!
legalCopyright
"Returns a copyright string which will appear in <lib>.rc.
Under win32, this is placed into the dlls file-info"
^ 'Copyright Claus Gittinger 1988-2014\nCopyright eXept Software AG 1998-2014'
!
productName
"Returns a product name which will appear in <lib>.rc.
Under win32, this is placed into the dlls file-info.
This method is usually redefined in a concrete application definition"
^ 'Smalltalk/X'
! !
!stx_goodies_petitparser_compiler class methodsFor:'documentation'!
version_HG
^ '$Changeset: <not expanded> $'
! !