stx_goodies_petitparser.st
author Claus Gittinger <cg@exept.de>
Mon, 17 Feb 2014 02:33:26 +0100
changeset 151 9c6d666d71fe
parent 149 41efe16c9c70
child 211 c156f64d8eb9
permissions -rw-r--r--
added Interval>>asParser

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

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


!stx_goodies_petitparser class methodsFor:'accessing'!

monticelloPackageName
    "hook for packages which have been loaded from monticello"

    ^ 'PetitParser'

    "Created: / 17-12-2010 / 19:44:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !

!stx_goodies_petitparser class methodsFor:'description'!

excludedFromPreRequisites
    "list all packages which should be ignored in the automatic
     preRequisites scan. See #preRequisites for more."

    ^ #(
    )
!

mandatoryPreRequisites
    "list all required mandatory packages.
     Packages are mandatory, if they contain superclasses of the package's classes
     or classes which are extended by this package.
     This list can be maintained manually or (better) generated and
     updated by scanning the superclass hierarchies
     (the browser has a menu function for that)
     However, often too much is found, and you may want to explicitely
     exclude individual packages in the #excludedFromPreRequisites method."

    ^ #(
	#'stx:libbasic'    "PositionableStream - extended "
	#'stx:libbasic2'    "Text - extended "
    )
!

referencedPreRequisites
    "list all packages containing classes referenced by the packages's members.
     This list can be maintained manually or (better) generated and
     updated by looking for global variable accesses
     (the browser has a menu function for that)
     However, often too much is found, and you may want to explicitely
     exclude individual packages in the #excludedFromPreRequisites method."

    ^ #(
    )
!

stcOptimizationOptions
    "do not inline the not operation here - it is overwritten"

    ^ '+optspace3 -inlinenot'

    "Created: / 23-08-2006 / 01:27:22 / cg"
! !

!stx_goodies_petitparser class methodsFor:'description - actions'!

postLoadAction

    "/self classes do: [:cls|cls isLoaded ifFalse:[cls autoload]]

    "Created: / 17-12-2010 / 19:55:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !

!stx_goodies_petitparser 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"
	(PPAbstractParseTest autoload)
	PPCharSetPredicate
	PPFailure
	PPMemento
	PPParser
	(PPParserResource autoload)
	PPStream
	PPToken
	#'stx_goodies_petitparser'
	(PPComposedTest autoload)
	(PPCompositeParserTest autoload)
	PPDelegateParser
	PPEpsilonParser
	(PPExtensionTest autoload)
	PPFailingParser
	PPListParser
	PPLiteralParser
	(PPMappingTest autoload)
	(PPObjectTest autoload)
	(PPParserTest autoload)
	PPPluggableParser
	PPPredicateParser
	(PPPredicateTest autoload)
	(PPScriptingTest autoload)
	(PPTokenTest autoload)
	PPUnresolvedParser
	PPActionParser
	PPAndParser
	(PPArithmeticParserTest autoload)
	PPChoiceParser
	PPCompositeParser
	PPEndOfInputParser
	PPExpressionParser
	PPFlattenParser
	(PPLambdaParserTest autoload)
	PPLiteralObjectParser
	PPLiteralSequenceParser
	PPMemoizedParser
	PPNotParser
	PPOptionalParser
	PPPredicateObjectParser
	PPPredicateSequenceParser
	PPRepeatingParser
	PPSequenceParser
	PPTrimmingParser
	PPArithmeticParser
	(PPExpressionParserTest autoload)
	PPLambdaParser
	PPTokenParser
	PPWrappingParser
    )
!

extensionMethodNames
    "lists the extension methods which are to be included in the project.
     Entries are 2-element array literals, consisting of class-name and selector."

    ^ #(
	Block asParser
	BlockContext asParser
	Character asParser
	Character ppMinus:
	Object asParser
	Object isPetitFailure
	Object isPetitParser
	PositionableStream asPetitStream
	SequenceableCollection asParser
	SequenceableCollection asPetitStream
	Interval asParser
	Set asParser
	Stream asPetitStream
	String asParser
	Symbol asParser
	Symbol value:
	Text asPetitStream
	UndefinedObject asParser
    )
! !

!stx_goodies_petitparser class methodsFor:'description - project information'!

applicationIconFileName
    "Return the name (without suffix) of an icon-file (the app's icon); will be included in the rc-resource file"

    ^ nil
    "/ ^ self applicationName
!

companyName
    "Return a companyname which will appear in <lib>.rc"

    ^ 'Lukas Renggli & SWING Research Group'

    "Modified: / 17-12-2010 / 19:43:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!

description
    "Return a description string which will appear in vc.def / bc.def"

    ^ 'Smalltalk/X Scannerless Parser & Parser Combinator Library'

    "Modified: / 17-12-2010 / 19:43:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!

legalCopyright
    "Return a copyright string which will appear in <lib>.rc"

    ^ '(C) Lukas Renggli'

    "Modified: / 17-12-2010 / 19:43:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!

productInstallDirBaseName
    "Returns a default installDir which will appear in <app>.nsi.
     This is usually not the one you want to keep"

    ^ (self package asCollectionOfSubstringsSeparatedByAny:':/') last
!

productName
    "Return a product name which will appear in <lib>.rc"

    ^ 'Petit Parser'

    "Modified: / 17-12-2010 / 19:43:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !

!stx_goodies_petitparser class methodsFor:'description - svn'!

svnRepositoryUrlString
    "Return a SVN repository URL of myself.
     (Generated since 2011-04-08)
    "

    ^ '$URL: https://vranyj1@swing.fit.cvut.cz/svn/squeak/petitparser/trunk/squeak_petitparser.st $'
!

svnRevisionNr
    "Return a SVN revision number of myself.
     This number is updated after a commit"

    ^ "$SVN-Revision:"'11              '"$"
! !

!stx_goodies_petitparser class methodsFor:'documentation'!

version
    ^ '$Header: /cvs/stx/stx/goodies/petitparser/stx_goodies_petitparser.st,v 1.10 2014-02-17 01:33:26 cg Exp $'
!

version_CVS
    ^ '$Header: /cvs/stx/stx/goodies/petitparser/stx_goodies_petitparser.st,v 1.10 2014-02-17 01:33:26 cg Exp $'
!

version_SVN
    ^ '$Id: stx_goodies_petitparser.st,v 1.10 2014-02-17 01:33:26 cg Exp $'
! !