compiler/stx_goodies_petitparser_compiler.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Wed, 19 Nov 2014 10:52:37 +0000
changeset 420 b2f2f15cef26
parent 414 0eaf09920532
child 421 7e08b31e0dae
permissions -rw-r--r--
Moved benchmarks to a separate package

"{ Package: 'stx:goodies/petitparser/compiler' }"

LibraryDefinition subclass:#stx_goodies_petitparser_compiler
	instanceVariableNames:''
	classVariableNames:''
	poolDictionaries:''
	category:'* Projects & Packages *'
!

!stx_goodies_petitparser_compiler class methodsFor:'documentation'!

extensionsVersion_HG

    ^ '$Changeset: <not expanded> $'
! !

!stx_goodies_petitparser_compiler class methodsFor:'accessing - monticello'!

monticelloLastMergedVersionInfo
    "The last merged version is: "

    ^ '
    Name: PetitCompiler-JanKurs.57
    Author: JanKurs
    Time: 05-11-2014, 05:10:47 AM
    UUID: 4c625efe-77fd-465d-bd63-72ead0b5d3ba        
    Repository: http://smalltalkhub.com/mc/JanKurs/PetitParser/main

    '

    "Created: / 03-10-2014 / 02:27:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
    "Modified: / 05-11-2014 / 22:58:45 / 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 loading or compiling.
     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"
    )
!

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
        PPCInlineStrategy
        PPCMethod
        PPCMethodStrategy
        PPCNode
        PPCOptimizationResult
        PPCompiledParser
        #'stx_goodies_petitparser_compiler'
        PPCAbstractCharacterNode
        PPCAbstractLiteralNode
        PPCAbstractPredicateNode
        PPCAnyNode
        PPCDelegateNode
        PPCInlinedMethod
        PPCListNode
        PPCNilNode
        PPCPluggableNode
        PPCProfilingContext
        PPCStarAnyNode
        PPCStarCharSetPredicateNode
        PPCStarMessagePredicateNode
        PPCUnknownNode
        PPCAbstractActionNode
        PPCAndNode
        PPCCharSetPredicateNode
        PPCCharacterNode
        PPCChoiceNode
        PPCForwardNode
        PPCInlineAnyNode
        PPCInlineCharacterNode
        PPCInlineLiteralNode
        PPCInlineNilNode
        PPCInlineNotLiteralNode
        PPCInlinePluggableNode
        PPCLiteralNode
        PPCMessagePredicateNode
        PPCNegateNode
        PPCNotCharSetPredicateNode
        PPCNotLiteralNode
        PPCNotMessagePredicateNode
        PPCNotNode
        PPCOptionalNode
        PPCPlusNode
        PPCPredicateNode
        PPCSequenceNode
        PPCStarNode
        PPCTokenNode
        PPCTokenStarMessagePredicateNode
        PPCTrimNode
        PPCTrimmingTokenNode
        PPCActionNode
        PPCInlineCharSetPredicateNode
        PPCInlineMessagePredicateNode
        PPCInlineNotCharSetPredicateNode
        PPCInlineNotMessagePredicateNode
        PPCSymbolActionNode
        PPCTokenSequenceNode
    )
!

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 lastTokenResult
        PPContext lwRemember
        PPContext lwRestore:
        PPContext matchToken:
        PPContext nextToken
        PPContext nextToken:
        PPContext peek:
        PPContext whitespace
        PPContext whitespace:
        PPDelegateParser asCompilerNode
        PPDelegateParser compileWith:
        PPEpsilonParser asCompilerNode
        PPEpsilonParser compileWith:
        PPFailure context:
        PPFailure message:
        PPFailure position:
        PPLiteralObjectParser asCompilerNode
        PPLiteralObjectParser compileWith:
        PPLiteralObjectParser firstCharParser
        PPLiteralParser id
        PPLiteralSequenceParser asCompilerNode
        PPLiteralSequenceParser compileWith:
        PPLiteralSequenceParser firstCharParser
        PPNotParser asCompilerNode
        PPNotParser compileWith:
        PPNotParser firstCharParser
        PPOptionalParser asCompilerNode
        PPOptionalParser compileWith:
        PPParser asCompilerNode
        PPParser asCompilerTree
        PPParser bridge
        PPParser cached
        PPParser compile
        PPParser compile:
        PPParser compile:andParse:
        PPParser compile:parameters:
        PPParser compileWith:
        PPParser compileWithParameters:
        PPParser first
        PPParser first:
        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:
        PPPossessiveRepeatingParser optimized
        PPPredicateObjectParser asCompilerNode
        PPPredicateObjectParser compileWith:
        PPPredicateObjectParser firstCharParser
        PPSequenceParser asCompilerNode
        PPSequenceParser checkFirst:
        PPSequenceParser compileWith:
        PPSequenceParser firstSetSuchThat:into:openSet:
        PPSequenceParser optimized
        PPSmalltalkGrammar comment
        PPSmalltalkGrammar updateContext:
        PPSmalltalkGrammar whitespace
        PPSmalltalkGrammar whitespaceOld
        PPSmalltalkGrammar whitespaceX
        PPSmalltalkTokenParser compileWith:
        PPSmalltalkTokenParser parseOnX:
        PPSmalltalkTokenParser updateContext:
        PPSmalltalkTokenParser whitespace
        PPSmalltalkWhitespaceParser acceptsEpsilon
        PPSmalltalkWhitespaceParser acceptsEpsilonOpenSet:
        PPSmalltalkWhitespaceParser firstCharParser
        PPStream peek:
        PPToken #'='
        PPToken hash
        PPToken isToken
        PPTokenParser asCompilerNode
        PPTokenParser displayName
        PPTokenParser firstSets:into:
        PPTokenParser id
        PPTokenParser isFirstSetTerminal
        PPTokenParser isTokenParser
        PPTokenParser isUnique
        PPTokenParser optimize
        PPTokenParser parseOnX:
        PPTokenParser parser
        PPTokenParser startsWith:
        PPTokenParser whitespace
        PPTrimmingParser asCompilerNode
        PPTrimmingParser compileWith:
        PPTrimmingParser firstSets:into:
        UndefinedObject asInteger
        UndefinedObject isAlphaNumeric
        UndefinedObject isDigit
        UndefinedObject isLetter
        PPPredicateObjectParser firstCharSet
        PPPredicateObjectParser firstCharSetCached
        PPSmalltalkWhitespaceParser firstCharSet
        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> $'
! !