analyzer/stx_goodies_petitparser_analyzer.st
author sr
Thu, 05 Jul 2018 09:23:34 +0200
changeset 628 379fc127ba99
parent 308 52e8ec8cacb2
child 376 a2656b27cace
permissions -rw-r--r--
order
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
225
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     1
"{ Package: 'stx:goodies/petitparser/analyzer' }"
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     2
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     3
LibraryDefinition subclass:#stx_goodies_petitparser_analyzer
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
	instanceVariableNames:''
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
	classVariableNames:''
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
	poolDictionaries:''
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     7
	category:'* Projects & Packages *'
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
!
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
!stx_goodies_petitparser_analyzer class methodsFor:'description'!
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
excludedFromPreRequisites
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
    "list all packages which should be ignored in the automatic
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
     preRequisites scan. See #preRequisites for more."
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
    ^ #(
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
    )
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
!
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
mandatoryPreRequisites
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
    "list all required mandatory packages.
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
     Packages are mandatory, if they contain superclasses of the package's classes
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    24
     or classes which are extended by this package.
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
     This list can be maintained manually or (better) generated and
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
     updated by scanning the superclass hierarchies
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
     (the browser has a menu function for that)"
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
    ^ #(
277
Claus Gittinger <cg@exept.de>
parents: 225
diff changeset
    30
        #'stx:goodies/petitparser'    "PPActionParser - extended "
225
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
        #'stx:libbasic'    "LibraryDefinition - superclass of stx_goodies_petitparser_analyzer "
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
    )
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
!
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
referencedPreRequisites
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
    "list all packages containing classes referenced by the packages's members.
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
     This list can be maintained manually or (better) generated and
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
     updated by looking for global variable accesses
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
     (the browser has a menu function for that)
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
     However, often too much is found, and you may want to explicitely
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
     exclude individual packages in the #excludedFromPreRequisites method."
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
    ^ #(
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    44
    )
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    45
!
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    46
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
subProjects
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    48
    "list packages which are known as subprojects.
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    49
     The generated makefile will enter those and make there as well.
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    50
     However: they are not forced to be loaded when a package is loaded;
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    51
     for those, redefine requiredPrerequisites"
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    52
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    53
    ^ #(
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    54
    )
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    55
! !
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    56
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    57
!stx_goodies_petitparser_analyzer class methodsFor:'description - contents'!
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    58
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
classNamesAndAttributes
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
    "lists the classes which are to be included in the project.
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    61
     Each entry in the list may be: a single class-name (symbol),
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    62
     or an array-literal consisting of class name and attributes.
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    63
     Attributes are: #autoload or #<os> where os is one of win32, unix,..."
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    64
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    65
    ^ #(
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    66
        "<className> or (<className> attributes...) in load order"
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    67
        PPPattern
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    68
        PPProcessor
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    69
        PPRule
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    70
        PPSentinel
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    71
        #'stx_goodies_petitparser_analyzer'
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    72
        PPListPattern
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    73
        PPReplaceRule
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    74
        PPRewriter
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    75
        PPSearchRule
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    76
        PPSearcher
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    77
        PPBlockReplaceRule
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    78
        PPParserReplaceRule
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    79
    )
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    80
!
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    81
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    82
extensionMethodNames
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    83
    "lists the extension methods which are to be included in the project.
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    84
     Entries are 2-element array literals, consisting of class-name and selector."
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    85
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    86
    ^ #(
277
Claus Gittinger <cg@exept.de>
parents: 225
diff changeset
    87
        PPActionParser match:inContext:seen:
Claus Gittinger <cg@exept.de>
parents: 225
diff changeset
    88
        PPDelegateParser replace:with:
Claus Gittinger <cg@exept.de>
parents: 225
diff changeset
    89
        PPEpsilonParser isNullable
Claus Gittinger <cg@exept.de>
parents: 225
diff changeset
    90
        PPFailingParser match:inContext:seen:
Claus Gittinger <cg@exept.de>
parents: 225
diff changeset
    91
        PPLimitedRepeatingParser replace:with:
Claus Gittinger <cg@exept.de>
parents: 225
diff changeset
    92
        PPListParser copyInContext:seen:
Claus Gittinger <cg@exept.de>
parents: 225
diff changeset
    93
        PPListParser replace:with:
Claus Gittinger <cg@exept.de>
parents: 225
diff changeset
    94
        PPLiteralParser match:inContext:seen:
Claus Gittinger <cg@exept.de>
parents: 225
diff changeset
    95
        PPOptionalParser isNullable
Claus Gittinger <cg@exept.de>
parents: 225
diff changeset
    96
        PPParser allNamedParsers
Claus Gittinger <cg@exept.de>
parents: 225
diff changeset
    97
        PPParser allNamedParsersDo:
Claus Gittinger <cg@exept.de>
parents: 225
diff changeset
    98
        PPParser allParsers
Claus Gittinger <cg@exept.de>
parents: 225
diff changeset
    99
        PPParser allParsersDo:
Claus Gittinger <cg@exept.de>
parents: 225
diff changeset
   100
        PPParser allParsersDo:seen:
Claus Gittinger <cg@exept.de>
parents: 225
diff changeset
   101
        PPParser copyInContext:
Claus Gittinger <cg@exept.de>
parents: 225
diff changeset
   102
        PPParser copyInContext:seen:
Claus Gittinger <cg@exept.de>
parents: 225
diff changeset
   103
        PPParser cycleSet
Claus Gittinger <cg@exept.de>
parents: 225
diff changeset
   104
        PPParser cycleSet:
Claus Gittinger <cg@exept.de>
parents: 225
diff changeset
   105
        PPParser cycleSet:firstSets:into:
Claus Gittinger <cg@exept.de>
parents: 225
diff changeset
   106
        PPParser firstSet
Claus Gittinger <cg@exept.de>
parents: 225
diff changeset
   107
        PPParser firstSets
Claus Gittinger <cg@exept.de>
parents: 225
diff changeset
   108
        PPParser firstSets:into:
Claus Gittinger <cg@exept.de>
parents: 225
diff changeset
   109
        PPParser followSet
Claus Gittinger <cg@exept.de>
parents: 225
diff changeset
   110
        PPParser followSets
Claus Gittinger <cg@exept.de>
parents: 225
diff changeset
   111
        PPParser followSets:firstSets:into:
Claus Gittinger <cg@exept.de>
parents: 225
diff changeset
   112
        PPParser innerChildren
Claus Gittinger <cg@exept.de>
parents: 225
diff changeset
   113
        PPParser innerChildrenDo:
Claus Gittinger <cg@exept.de>
parents: 225
diff changeset
   114
        PPParser innerChildrenDo:seen:
Claus Gittinger <cg@exept.de>
parents: 225
diff changeset
   115
        PPParser isNullable
Claus Gittinger <cg@exept.de>
parents: 225
diff changeset
   116
        PPParser isTerminal
Claus Gittinger <cg@exept.de>
parents: 225
diff changeset
   117
        PPParser match:inContext:
Claus Gittinger <cg@exept.de>
parents: 225
diff changeset
   118
        PPParser match:inContext:seen:
Claus Gittinger <cg@exept.de>
parents: 225
diff changeset
   119
        PPParser matchList:against:inContext:seen:
Claus Gittinger <cg@exept.de>
parents: 225
diff changeset
   120
        PPParser matchList:index:against:index:inContext:seen:
Claus Gittinger <cg@exept.de>
parents: 225
diff changeset
   121
        PPParser namedChildren
Claus Gittinger <cg@exept.de>
parents: 225
diff changeset
   122
        PPParser namedChildrenDo:
Claus Gittinger <cg@exept.de>
parents: 225
diff changeset
   123
        PPParser namedChildrenDo:seen:
Claus Gittinger <cg@exept.de>
parents: 225
diff changeset
   124
        PPParser replace:with:
Claus Gittinger <cg@exept.de>
parents: 225
diff changeset
   125
        PPParser transform:
Claus Gittinger <cg@exept.de>
parents: 225
diff changeset
   126
        PPPluggableParser match:inContext:seen:
Claus Gittinger <cg@exept.de>
parents: 225
diff changeset
   127
        PPPredicateParser match:inContext:seen:
Claus Gittinger <cg@exept.de>
parents: 225
diff changeset
   128
        PPPredicateSequenceParser match:inContext:seen:
Claus Gittinger <cg@exept.de>
parents: 225
diff changeset
   129
        PPRepeatingParser isNullable
Claus Gittinger <cg@exept.de>
parents: 225
diff changeset
   130
        PPRepeatingParser match:inContext:seen:
Claus Gittinger <cg@exept.de>
parents: 225
diff changeset
   131
        PPSequenceParser cycleSet:
Claus Gittinger <cg@exept.de>
parents: 225
diff changeset
   132
        PPSequenceParser firstSets:into:
Claus Gittinger <cg@exept.de>
parents: 225
diff changeset
   133
        PPSequenceParser followSets:firstSets:into:
Claus Gittinger <cg@exept.de>
parents: 225
diff changeset
   134
        PPTokenParser match:inContext:seen:
225
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   135
    )
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   136
! !
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   137
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   138
!stx_goodies_petitparser_analyzer class methodsFor:'description - project information'!
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   139
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   140
companyName
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   141
    "Return a companyname which will appear in <lib>.rc"
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   142
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   143
    ^ 'eXept Software AG'
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   144
!
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   145
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   146
description
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   147
    "Return a description string which will appear in vc.def / bc.def"
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   148
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   149
    ^ 'Smalltalk/X Class library'
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   150
!
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   151
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   152
legalCopyright
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   153
    "Return a copyright string which will appear in <lib>.rc"
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   154
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   155
    ^ 'Copyright Claus Gittinger 1988-2014\nCopyright eXept Software AG 1998-2014'
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   156
!
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   157
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   158
productName
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   159
    "Return a product name which will appear in <lib>.rc"
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   160
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   161
    ^ 'Smalltalk/X'
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   162
! !
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   163
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   164
!stx_goodies_petitparser_analyzer class methodsFor:'documentation'!
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   165
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   166
version
308
Claus Gittinger <cg@exept.de>
parents: 302
diff changeset
   167
    ^ '$Header: /cvs/stx/stx/goodies/petitparser/analyzer/stx_goodies_petitparser_analyzer.st,v 1.6 2014-03-04 20:29:43 cg Exp $'
225
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   168
!
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   169
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   170
version_CVS
308
Claus Gittinger <cg@exept.de>
parents: 302
diff changeset
   171
    ^ '$Header: /cvs/stx/stx/goodies/petitparser/analyzer/stx_goodies_petitparser_analyzer.st,v 1.6 2014-03-04 20:29:43 cg Exp $'
225
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   172
!
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   173
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   174
version_MC
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   175
    ^ '$PetitAnalyzer-lr.41 608069e1-dadc-4435-abd6-995adf7519e2 2013-03-16T21:52:20 lr$'
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   176
! !
d99d3e951afc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   177