devtools/stx_goodies_petitparser_devtools.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Wed, 17 Jun 2015 16:49:28 +0100
changeset 492 fc3dbe5654c5
parent 122 5ea40d035e02
permissions -rw-r--r--
Use #deepCopy instead of #copy when copying RB parse tree ...because #copy make a copy if child nodes but does not set their parents properly. Therefore node replacing does not work because it replaces it in wrong tree (original, not the copy).
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
86
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     1
"{ Package: 'stx:goodies/petitparser/devtools' }"
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     2
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     3
LibraryDefinition subclass:#stx_goodies_petitparser_devtools
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     4
	instanceVariableNames:''
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     5
	classVariableNames:''
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     6
	poolDictionaries:''
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     7
	category:'* Projects & Packages *'
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     8
!
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    11
!stx_goodies_petitparser_devtools class methodsFor:'description'!
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    12
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    13
excludedFromPreRequisites
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    14
    "list all packages which should be ignored in the automatic
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    15
     preRequisites scan. See #preRequisites for more."
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    17
    ^ #(
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    18
    )
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    19
!
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    21
preRequisites
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    22
    "list all required packages.
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    23
     This list can be maintained manually or (better) generated and
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    24
     updated by scanning the superclass hierarchies and looking for
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    25
     global variable accesses. (the browser has a menu function for that)
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    26
     Howevery, often too much is found, and you may want to explicitely
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    27
     exclude individual packages in the #excludedFromPrerequisites method."
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    28
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    29
    ^ #(
117
69ab3de9efe9 automatic checkIn
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
    30
        #'jv:dart/compiler'    "Dart::Parser - referenced by PPCompositeParserGenerator>>generate "
86
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    31
        #'stx:goodies/petitparser'    "PPParser - superclass of PPDebuggingParser "
117
69ab3de9efe9 automatic checkIn
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
    32
        #'stx:goodies/xml/vw'    "XML::XMLParser - referenced by XBGFParser>>parse: "
69ab3de9efe9 automatic checkIn
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
    33
        #'stx:libbasic'    "Object - superclass of PPDebuggingParser "
69ab3de9efe9 automatic checkIn
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
    34
        #'stx:libbasic3'    "ChangeSet - referenced by PPCompositeParserGenerator>>generate "
86
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    35
    )
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    36
! !
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    37
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    38
!stx_goodies_petitparser_devtools class methodsFor:'description - contents'!
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    39
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    40
classNamesAndAttributes
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    41
    "lists the classes which are to be included in the project.
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    42
     Each entry in the list may be: a single class-name (symbol),
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    43
     or an array-literal consisting of class name and attributes.
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    44
     Attributes are: #autoload or #<os> where os is one of win32, unix,..."
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    45
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    46
    ^ #(
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    47
        "<className> or (<className> attributes...) in load order"
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    48
        PPDebugger
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    49
        PPDebuggingParser
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    50
        #'stx_goodies_petitparser_devtools'
102
9c38fe06d9a7 Added PPCompositeParserGenerator & PPParserVisitor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 86
diff changeset
    51
        XBGFParser
117
69ab3de9efe9 automatic checkIn
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
    52
        (PPCompositeParserGenerator autoload)
69ab3de9efe9 automatic checkIn
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
    53
        (PPParserVisitor autoload)
86
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    54
    )
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    55
!
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    56
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    57
extensionMethodNames
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    58
    "lists the extension methods which are to be included in the project.
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    59
     Entries are 2-element array literals, consisting of class-name and selector."
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    60
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    61
    ^ #(
117
69ab3de9efe9 automatic checkIn
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
    62
        PPActionParser acceptVisitor:
69ab3de9efe9 automatic checkIn
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
    63
        PPAndParser acceptVisitor:
69ab3de9efe9 automatic checkIn
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
    64
        PPArithmeticParser acceptVisitor:
69ab3de9efe9 automatic checkIn
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
    65
        PPChoiceParser acceptVisitor:
69ab3de9efe9 automatic checkIn
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
    66
        PPCompositeParser acceptVisitor:
69ab3de9efe9 automatic checkIn
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
    67
        PPDelegateParser acceptVisitor:
69ab3de9efe9 automatic checkIn
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
    68
        PPEndOfInputParser acceptVisitor:
69ab3de9efe9 automatic checkIn
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
    69
        PPEpsilonParser acceptVisitor:
69ab3de9efe9 automatic checkIn
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
    70
        PPExpressionParser acceptVisitor:
69ab3de9efe9 automatic checkIn
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
    71
        PPFailingParser acceptVisitor:
69ab3de9efe9 automatic checkIn
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
    72
        PPFlattenParser acceptVisitor:
69ab3de9efe9 automatic checkIn
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
    73
        PPLambdaParser acceptVisitor:
69ab3de9efe9 automatic checkIn
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
    74
        PPListParser acceptVisitor:
69ab3de9efe9 automatic checkIn
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
    75
        PPLiteralObjectParser acceptVisitor:
69ab3de9efe9 automatic checkIn
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
    76
        PPLiteralParser acceptVisitor:
69ab3de9efe9 automatic checkIn
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
    77
        PPLiteralSequenceParser acceptVisitor:
69ab3de9efe9 automatic checkIn
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
    78
        PPMemoizedParser acceptVisitor:
69ab3de9efe9 automatic checkIn
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
    79
        PPNotParser acceptVisitor:
69ab3de9efe9 automatic checkIn
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
    80
        PPOptionalParser acceptVisitor:
69ab3de9efe9 automatic checkIn
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
    81
        PPParser acceptVisitor:
69ab3de9efe9 automatic checkIn
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
    82
        PPPluggableParser acceptVisitor:
69ab3de9efe9 automatic checkIn
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
    83
        PPPredicateObjectParser acceptVisitor:
69ab3de9efe9 automatic checkIn
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
    84
        PPPredicateParser acceptVisitor:
69ab3de9efe9 automatic checkIn
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
    85
        PPPredicateSequenceParser acceptVisitor:
69ab3de9efe9 automatic checkIn
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
    86
        PPRepeatingParser acceptVisitor:
69ab3de9efe9 automatic checkIn
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
    87
        PPSequenceParser acceptVisitor:
69ab3de9efe9 automatic checkIn
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
    88
        PPTokenParser acceptVisitor:
69ab3de9efe9 automatic checkIn
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
    89
        PPTrimmingParser acceptVisitor:
69ab3de9efe9 automatic checkIn
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
    90
        PPUnresolvedParser acceptVisitor:
69ab3de9efe9 automatic checkIn
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
    91
        PPWrappingParser acceptVisitor:
86
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    92
    )
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    93
! !
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    94
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    95
!stx_goodies_petitparser_devtools class methodsFor:'description - project information'!
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    96
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    97
applicationIconFileName
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    98
    "Return the name (without suffix) of an icon-file (the app's icon); will be included in the rc-resource file"
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    99
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   100
    ^ nil
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   101
    "/ ^ self applicationName
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   102
!
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   103
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   104
companyName
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   105
    "Return a companyname which will appear in <lib>.rc"
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   106
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   107
    ^ 'eXept Software AG'
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   108
!
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   109
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   110
description
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   111
    "Return a description string which will appear in vc.def / bc.def"
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   112
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   113
    ^ 'Smalltalk/X Class library'
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   114
!
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   115
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   116
legalCopyright
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   117
    "Return a copyright string which will appear in <lib>.rc"
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   118
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   119
    ^ 'Copyright Claus Gittinger 1988-2012\nCopyright eXept Software AG 1998-2012'
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   120
!
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   121
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   122
productInstallDirBaseName
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   123
    "Returns a default installDir which will appear in <app>.nsi.
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   124
     This is usually not the one you want to keep"
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   125
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   126
    ^ (self package asCollectionOfSubstringsSeparatedByAny:':/') last
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   127
!
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   128
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   129
productName
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   130
    "Return a product name which will appear in <lib>.rc"
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   131
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   132
    ^ 'Smalltalk/X'
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   133
! !
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   134
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   135
!stx_goodies_petitparser_devtools class methodsFor:'documentation'!
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   136
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   137
version
122
5ea40d035e02 automatic checkIn
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 117
diff changeset
   138
    ^ '$Header: /cvs/stx/stx/goodies/petitparser/devtools/stx_goodies_petitparser_devtools.st,v 1.4 2013-01-10 13:26:48 vrany Exp $'
86
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   139
!
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   140
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   141
version_CVS
122
5ea40d035e02 automatic checkIn
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 117
diff changeset
   142
    ^ '$Header: /cvs/stx/stx/goodies/petitparser/devtools/stx_goodies_petitparser_devtools.st,v 1.4 2013-01-10 13:26:48 vrany Exp $'
86
824b59ebcbbd initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   143
! !