parsers/java/stx_goodies_petitparser_parsers_java.st
changeset 435 3bc08fb90133
child 454 a9cd5ea7cc36
equal deleted inserted replaced
434:840942b96eea 435:3bc08fb90133
       
     1 "{ Package: 'stx:goodies/petitparser/parsers/java' }"
       
     2 
       
     3 "{ NameSpace: Smalltalk }"
       
     4 
       
     5 LibraryDefinition subclass:#stx_goodies_petitparser_parsers_java
       
     6 	instanceVariableNames:''
       
     7 	classVariableNames:''
       
     8 	poolDictionaries:''
       
     9 	category:'* Projects & Packages *'
       
    10 !
       
    11 
       
    12 
       
    13 !stx_goodies_petitparser_parsers_java class methodsFor:'accessing - monticello'!
       
    14 
       
    15 monticelloLastMergedVersionInfo
       
    16     "The last merged version is: "
       
    17 
       
    18     ^ '
       
    19     Name: PetitJava-JanKurs.160
       
    20     Author: JanKurs
       
    21     Time: 19-12-2014, 01:00:18.354 PM
       
    22     UUID: 1cb1b46d-8c68-4751-9720-f0dd742f3e16
       
    23     '
       
    24 
       
    25     "Created: / 03-10-2014 / 02:27:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
    26     "Modified: / 21-04-2015 / 13:03:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
    27 !
       
    28 
       
    29 monticelloName
       
    30     "Return name of the package for Monticello. This is used when package is exported"
       
    31 
       
    32     ^ 'PetitJava'
       
    33 
       
    34     "Created: / 03-10-2014 / 01:47:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
    35     "Modified: / 21-04-2015 / 13:02:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
    36 ! !
       
    37 
       
    38 !stx_goodies_petitparser_parsers_java class methodsFor:'description'!
       
    39 
       
    40 excludedFromPreRequisites
       
    41     "list packages which are to be explicitely excluded from the automatic constructed
       
    42      prerequisites list. If empty, everything that is found along the inheritance of any of
       
    43      my classes is considered to be a prerequisite package."
       
    44 
       
    45     ^ #(
       
    46     )
       
    47 !
       
    48 
       
    49 mandatoryPreRequisites
       
    50     "list packages which are mandatory as a prerequisite.
       
    51      This are packages containing superclasses of my classes and classes which
       
    52      are extended by myself.
       
    53      They are mandatory, because we need these packages as a prerequisite for loading and compiling.
       
    54      This method is generated automatically,
       
    55      by searching along the inheritance chain of all of my classes."
       
    56 
       
    57     ^ #(
       
    58         #'stx:goodies/petitparser'    "PPCompositeParser - superclass of PPJavaLexicon"
       
    59         #'stx:goodies/petitparser/tests'    "PPAbstractParserTest - superclass of PPJavaLexiconTest"
       
    60         #'stx:goodies/sunit'    "TestAsserter - superclass of PPJavaLexiconTest"
       
    61         #'stx:libbasic'    "ArithmeticValue - extended"
       
    62     )
       
    63 !
       
    64 
       
    65 referencedPreRequisites
       
    66     "list packages which are a prerequisite, because they contain
       
    67      classes which are referenced by my classes.
       
    68      We do not need these packages as a prerequisite for compiling or loading,
       
    69      however, a class from it may be referenced during execution and having it
       
    70      unloaded then may lead to a runtime doesNotUnderstand error, unless the caller
       
    71      includes explicit checks for the package being present.
       
    72      This method is generated automatically,
       
    73      by searching all classes (and their packages) which are referenced by my classes."
       
    74 
       
    75     ^ #(
       
    76         #'stx:libbasic2'    "CharacterSet - referenced by PPJavaTokenParser>>parseComments:on:"
       
    77     )
       
    78 !
       
    79 
       
    80 stcOptimizationOptions
       
    81     "do not inline the not operation here - it is overwritten"
       
    82 
       
    83     ^ super stcOptimizationOptions , ' -inlinenot'
       
    84 
       
    85     "Created: / 13-04-2015 / 14:18:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
    86 !
       
    87 
       
    88 subProjects
       
    89     "list packages which are known as subprojects.
       
    90      The generated makefile will enter those and make there as well.
       
    91      However: they are not forced to be loaded when a package is loaded;
       
    92      for those, redefine requiredPrerequisites."
       
    93 
       
    94     ^ #(
       
    95     )
       
    96 ! !
       
    97 
       
    98 !stx_goodies_petitparser_parsers_java class methodsFor:'description - contents'!
       
    99 
       
   100 classNamesAndAttributes
       
   101     "lists the classes which are to be included in the project.
       
   102      Each entry in the list may be: a single class-name (symbol),
       
   103      or an array-literal consisting of class name and attributes.
       
   104      Attributes are: #autoload or #<os> where os is one of win32, unix,..."
       
   105 
       
   106     ^ #(
       
   107         "<className> or (<className> attributes...) in load order"
       
   108         PJASTNode
       
   109         PJASTNodeVisitor
       
   110         PPJavaLexicon
       
   111         (PPJavaLexiconTest autoload)
       
   112         PPJavaToken
       
   113         PPJavaTokenParser
       
   114         PPJavaWhitespaceParser
       
   115         #'stx_goodies_petitparser_parsers_java'
       
   116         PJBlockNode
       
   117         PJBodyDeclarationNode
       
   118         PJCompilationUnitNode
       
   119         PJExpressionNode
       
   120         PJImportDeclarationNode
       
   121         PJModifierNode
       
   122         PJPackageDeclarationNode
       
   123         PJParameterDeclaratorNode
       
   124         PJStatementNode
       
   125         PJSyntaxNode
       
   126         PJTypeNode
       
   127         PJVariableDeclaratorNode
       
   128         PPJavaSyntax
       
   129         (PPJavaSyntaxTest autoload)
       
   130         PJAbstractTypeDeclarationNode
       
   131         PJAnnotationNode
       
   132         PJArrayTypeNode
       
   133         PJBehaviouralNode
       
   134         PJBooleanLiteralNode
       
   135         PJCharacterLiteralNode
       
   136         PJCommentsNode
       
   137         PJExpressionStatementNode
       
   138         PJFloatLiteralNode
       
   139         PJIdentifierNode
       
   140         PJIfStatementNode
       
   141         PJInfixOperationNode
       
   142         PJIntegerLiteralNode
       
   143         PJLocalVariableDeclarationStatementNode
       
   144         PJNameNode
       
   145         PJNullLiteralNode
       
   146         PJPrimitiveTypeNode
       
   147         PJReturnStatementNode
       
   148         PJSeparatorNode
       
   149         PJStringLiteralNode
       
   150         PJWhileStatementNode
       
   151         PPJavaParser
       
   152         (PPJavaParserTest autoload)
       
   153         PJConstructorDeclarationNode
       
   154         PJEndOfLineCommentsNode
       
   155         PJMethodDeclarationNode
       
   156         PJQualifiedNameNode
       
   157         PJSimpleNameNode
       
   158         PJTraditionalCommentsNode
       
   159         PJTypeDeclarationNode
       
   160     )
       
   161 !
       
   162 
       
   163 extensionMethodNames
       
   164     "list class/selector pairs of extensions.
       
   165      A correponding method with real names must be present in my concrete subclasses"
       
   166 
       
   167     ^ #(
       
   168         PPParser javaToken
       
   169         'Integer class' readFromJavaString:
       
   170     )
       
   171 ! !
       
   172 
       
   173 !stx_goodies_petitparser_parsers_java class methodsFor:'description - project information'!
       
   174 
       
   175 companyName
       
   176     "Returns a company string which will appear in <lib>.rc.
       
   177      Under win32, this is placed into the dlls file-info"
       
   178 
       
   179     ^ 'eXept Software AG'
       
   180 !
       
   181 
       
   182 description
       
   183     "Returns a description string which will appear in nt.def / bc.def"
       
   184 
       
   185     ^ 'Smalltalk/X Class library'
       
   186 !
       
   187 
       
   188 legalCopyright
       
   189     "Returns a copyright string which will appear in <lib>.rc.
       
   190      Under win32, this is placed into the dlls file-info"
       
   191 
       
   192     ^ 'Copyright Claus Gittinger 1988-2015\nCopyright eXept Software AG 1998-2015'
       
   193 !
       
   194 
       
   195 productName
       
   196     "Returns a product name which will appear in <lib>.rc.
       
   197      Under win32, this is placed into the dlls file-info.
       
   198      This method is usually redefined in a concrete application definition"
       
   199 
       
   200     ^ 'Smalltalk/X'
       
   201 ! !
       
   202 
       
   203 !stx_goodies_petitparser_parsers_java class methodsFor:'documentation'!
       
   204 
       
   205 version_HG
       
   206     ^ '$Changeset: <not expanded> $'
       
   207 ! !
       
   208