compiler/tests/extras/PPCCompositeParserTest.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Fri, 31 Jul 2015 07:57:23 +0100
changeset 512 694a247a12ba
parent 510 869853decf31
child 516 3b81c9e53352
permissions -rw-r--r--
Added smoke tests for LRPParser
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
510
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     1
"{ Package: 'stx:goodies/petitparser/compiler/tests/extras' }"
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     2
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     3
"{ NameSpace: Smalltalk }"
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     4
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     5
PPCompositeParserTest subclass:#PPCCompositeParserTest
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     6
	instanceVariableNames:''
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     7
	classVariableNames:''
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     8
	poolDictionaries:''
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
	category:'PetitCompiler-Extras-Tests-Support'
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
!
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    11
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    12
!PPCCompositeParserTest class methodsFor:'accessing'!
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    13
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    14
resources
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    15
    ^ Array with: (PPCSetUpBeforeTearDownAfterResource for: self)
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    17
    "Created: / 29-07-2015 / 16:28:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    18
! !
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    19
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
!PPCCompositeParserTest class methodsFor:'queries'!
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    21
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    22
isAbstract
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    23
    "Return if this class is an abstract class.
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    24
     True is returned here for myself only; false for subclasses.
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    25
     Abstract subclasses must redefine again."
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    26
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    27
    ^ self == PPCCompositeParserTest.
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    28
! !
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    29
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    30
!PPCCompositeParserTest class methodsFor:'utilities'!
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    31
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    32
generateTestsFor: baseTestClass
512
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 510
diff changeset
    33
    | compiledBaseTestClassName |
510
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    34
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    35
    compiledBaseTestClassName := (baseTestClass name startsWith: 'PP') 
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    36
                            ifTrue:[ 'PPC' , (baseTestClass name copyFrom: 3 to: baseTestClass name size) ]
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    37
                            ifFalse:[ 'PPC' , baseTestClass name ].
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    38
    compiledBaseTestClassName := compiledBaseTestClassName asSymbol.
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    39
512
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 510
diff changeset
    40
    ^ self generateTestsFor: baseTestClass compiledBaseTestCaseName: compiledBaseTestClassName
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 510
diff changeset
    41
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 510
diff changeset
    42
    "Created: / 30-07-2015 / 07:10:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 510
diff changeset
    43
    "Modified: / 31-07-2015 / 07:27:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 510
diff changeset
    44
!
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 510
diff changeset
    45
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 510
diff changeset
    46
generateTestsFor: baseTestClass compiledBaseTestCaseName: compiledBaseTestClassName
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 510
diff changeset
    47
    | compiledBaseTestClass compiledUniversalTestClass compiledTokenizedTestClass |
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 510
diff changeset
    48
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 510
diff changeset
    49
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 510
diff changeset
    50
510
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    51
    compiledBaseTestClass := baseTestClass subclass:compiledBaseTestClassName
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    52
        instanceVariableNames:''
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    53
        classVariableNames:''
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    54
        poolDictionaries:''
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    55
        category: 'PetitCompiler-Extras-Tests-Misc'.
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    56
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    57
    compiledBaseTestClass class compile:
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    58
'isAbstract
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    59
    ^ self == ', compiledBaseTestClassName
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    60
    classified: 'testing'.
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    61
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    62
    compiledBaseTestClass class compile:
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    63
'resources
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    64
    ^ Array with: (PPCSetUpBeforeTearDownAfterResource for: self)'
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    65
    classified: 'resources'.
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    66
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    67
    self methodDictionary do:[:method |  
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    68
        compiledBaseTestClass compile: method source classified: method category    
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    69
    ].
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    70
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    71
    compiledBaseTestClass compile:
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    72
'petitParserClass
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    73
    ^ ' , baseTestClass new parserClass name
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    74
    classified: 'accessing'.
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    75
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    76
    compiledUniversalTestClass := compiledBaseTestClass subclass: (compiledBaseTestClassName , '_Universal') asSymbol
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    77
        instanceVariableNames:''
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    78
        classVariableNames:''
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    79
        poolDictionaries:''
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    80
        category: 'PetitCompiler-Extras-Tests-Misc'.
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    81
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    82
    compiledUniversalTestClass compile: 
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    83
'compilerConfiguration
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    84
    ^ PPCConfiguration universal'
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    85
    classified: 'accessing'.
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    86
    
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    87
                             
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    88
    compiledTokenizedTestClass := compiledBaseTestClass subclass: (compiledBaseTestClassName , '_Tokenized') asSymbol
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    89
        instanceVariableNames:''
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    90
        classVariableNames:''
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    91
        poolDictionaries:''
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    92
        category: 'PetitCompiler-Extras-Tests-Misc'.
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    93
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    94
    compiledTokenizedTestClass compile: 
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    95
'compilerConfiguration
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    96
    ^ PPCConfiguration tokenizing'
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    97
    classified: 'accessing'.
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    98
512
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 510
diff changeset
    99
    "Created: / 31-07-2015 / 07:26:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
510
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   100
! !
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   101
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   102
!PPCCompositeParserTest methodsFor:'accessing'!
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   103
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   104
compiledParser
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   105
    ^ self compiledParserClass new
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   106
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   107
    "Created: / 29-07-2015 / 17:00:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   108
!
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   109
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   110
compiledParserClass
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   111
    ^ Smalltalk at: self compiledParserClassName
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   112
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   113
    "Created: / 29-07-2015 / 16:54:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   114
!
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   115
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   116
compiledParserClassName
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   117
    "Return the name of the compiled parser"
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   118
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   119
    ^ (self petitParserClass name , 'C_' , 
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   120
            "This is bit hacky!!"
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   121
            ((self compilerConfiguration isKindOf: PPCTokenizingConfiguration) ifTrue:[ 'Tokenizing' ] ifFalse:[ 'Universal' ])) asSymbol
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   122
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   123
    "Created: / 29-07-2015 / 16:54:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   124
!
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   125
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   126
compilerConfiguration
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   127
    "Return configuration to use when compiling parser (as instance of PPCConfiguration)"
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   128
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   129
    ^ self subclassResponsibility
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   130
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   131
    "Created: / 29-07-2015 / 16:53:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   132
!
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   133
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   134
parserClass
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   135
    ^ self compiledParserClass
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   136
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   137
    "Modified: / 29-07-2015 / 18:43:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   138
!
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   139
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   140
parserInstanceFor: aSymbol
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   141
    ^ self parserClass new startSymbol: aSymbol
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   142
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   143
    "Modified: / 29-07-2015 / 18:43:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   144
!
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   145
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   146
petitParser
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   147
    ^ self petitParserClass new
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   148
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   149
    "Created: / 29-07-2015 / 17:01:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   150
!
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   151
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   152
petitParserClass
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   153
    "Return the name of the petit parser to compile"
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   154
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   155
    ^ self subclassResponsibility
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   156
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   157
    "Created: / 29-07-2015 / 17:01:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   158
! !
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   159
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   160
!PPCCompositeParserTest methodsFor:'context'!
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   161
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   162
context
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   163
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   164
    ^ PPCContext new 
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   165
! !
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   166
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   167
!PPCCompositeParserTest methodsFor:'setup & teardown'!
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   168
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   169
setUpBefore
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   170
    "Called before any of my tests is run (when resources are set up)"
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   171
    | time configuration |
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   172
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   173
    configuration := self compilerConfiguration.
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   174
    configuration arguments parserName: self compiledParserClassName.
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   175
    time := Time millisecondsToRun: [
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   176
        self petitParser compileWithConfiguration: configuration.
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   177
    ].
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   178
    Transcript show: self petitParserClass name ; show:' compiled in: '; show: time asString; show: 'ms'; cr.
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   179
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   180
    "Created: / 29-07-2015 / 16:29:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   181
    "Modified: / 29-07-2015 / 18:40:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   182
!
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   183
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   184
tearDownAfter
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   185
    "Called after all my tests are ryn(when resources are torn down)"
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   186
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   187
    "Created: / 29-07-2015 / 16:33:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   188
! !
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   189