Add Lepiter snippets for Carp
This commit is contained in:
32
src/Carp-AST/CarpCharacterNode.class.st
Normal file
32
src/Carp-AST/CarpCharacterNode.class.st
Normal file
@@ -0,0 +1,32 @@
|
||||
Class {
|
||||
#name : #CarpCharacterNode,
|
||||
#superclass : #CarpExpressionNode,
|
||||
#instVars : [
|
||||
'value'
|
||||
],
|
||||
#category : #'Carp-AST'
|
||||
}
|
||||
|
||||
{ #category : #generated }
|
||||
CarpCharacterNode >> acceptVisitor: anExpressionVisitor [
|
||||
|
||||
^ anExpressionVisitor visitCharacter: self
|
||||
]
|
||||
|
||||
{ #category : #generated }
|
||||
CarpCharacterNode >> tokenVariables [
|
||||
|
||||
^ #( #value )
|
||||
]
|
||||
|
||||
{ #category : #generated }
|
||||
CarpCharacterNode >> value [
|
||||
|
||||
^ value
|
||||
]
|
||||
|
||||
{ #category : #generated }
|
||||
CarpCharacterNode >> value: aSmaCCToken [
|
||||
|
||||
value := aSmaCCToken
|
||||
]
|
21
src/Carp-AST/CarpExpressionNode.class.st
Normal file
21
src/Carp-AST/CarpExpressionNode.class.st
Normal file
@@ -0,0 +1,21 @@
|
||||
Class {
|
||||
#name : #CarpExpressionNode,
|
||||
#superclass : #SmaCCParseNode,
|
||||
#category : #'Carp-AST'
|
||||
}
|
||||
|
||||
{ #category : #generated }
|
||||
CarpExpressionNode >> acceptVisitor: anExpressionVisitor [
|
||||
|
||||
^ anExpressionVisitor visitExpression: self
|
||||
]
|
||||
|
||||
{ #category : #accessing }
|
||||
CarpExpressionNode >> isQuoted [
|
||||
^ parent ifNil: [ false ] ifNotNil: [ parent isQuoted ]
|
||||
]
|
||||
|
||||
{ #category : #accessing }
|
||||
CarpExpressionNode >> listDepth [
|
||||
^ parent ifNil: [ 0 ] ifNotNil: [ parent listDepth + 1 ]
|
||||
]
|
34
src/Carp-AST/CarpModuleOrTypeNode.class.st
Normal file
34
src/Carp-AST/CarpModuleOrTypeNode.class.st
Normal file
@@ -0,0 +1,34 @@
|
||||
Class {
|
||||
#name : #CarpModuleOrTypeNode,
|
||||
#superclass : #CarpExpressionNode,
|
||||
#instVars : [
|
||||
'value'
|
||||
],
|
||||
#category : #'Carp-AST'
|
||||
}
|
||||
|
||||
{ #category : #generated }
|
||||
CarpModuleOrTypeNode >> acceptVisitor: anExpressionVisitor [
|
||||
|
||||
^ anExpressionVisitor visitModuleOrType: self
|
||||
]
|
||||
|
||||
{ #category : #generated }
|
||||
CarpModuleOrTypeNode >> otherVariables [
|
||||
|
||||
^ #( #value )
|
||||
]
|
||||
|
||||
{ #category : #generated }
|
||||
CarpModuleOrTypeNode >> value [
|
||||
|
||||
^ value
|
||||
]
|
||||
|
||||
{ #category : #generated }
|
||||
CarpModuleOrTypeNode >> value: anObject [
|
||||
|
||||
self setParent: self value to: nil.
|
||||
value := anObject.
|
||||
self setParent: self value to: self
|
||||
]
|
32
src/Carp-AST/CarpNumberNode.class.st
Normal file
32
src/Carp-AST/CarpNumberNode.class.st
Normal file
@@ -0,0 +1,32 @@
|
||||
Class {
|
||||
#name : #CarpNumberNode,
|
||||
#superclass : #CarpExpressionNode,
|
||||
#instVars : [
|
||||
'value'
|
||||
],
|
||||
#category : #'Carp-AST'
|
||||
}
|
||||
|
||||
{ #category : #generated }
|
||||
CarpNumberNode >> acceptVisitor: anExpressionVisitor [
|
||||
|
||||
^ anExpressionVisitor visitNumber: self
|
||||
]
|
||||
|
||||
{ #category : #generated }
|
||||
CarpNumberNode >> tokenVariables [
|
||||
|
||||
^ #( #value )
|
||||
]
|
||||
|
||||
{ #category : #generated }
|
||||
CarpNumberNode >> value [
|
||||
|
||||
^ value
|
||||
]
|
||||
|
||||
{ #category : #generated }
|
||||
CarpNumberNode >> value: aSmaCCToken [
|
||||
|
||||
value := aSmaCCToken
|
||||
]
|
49
src/Carp-AST/CarpPairNode.class.st
Normal file
49
src/Carp-AST/CarpPairNode.class.st
Normal file
@@ -0,0 +1,49 @@
|
||||
Class {
|
||||
#name : #CarpPairNode,
|
||||
#superclass : #CarpExpressionNode,
|
||||
#instVars : [
|
||||
'key',
|
||||
'value'
|
||||
],
|
||||
#category : #'Carp-AST'
|
||||
}
|
||||
|
||||
{ #category : #generated }
|
||||
CarpPairNode >> acceptVisitor: anExpressionVisitor [
|
||||
|
||||
^ anExpressionVisitor visitPair: self
|
||||
]
|
||||
|
||||
{ #category : #generated }
|
||||
CarpPairNode >> key [
|
||||
|
||||
^ key
|
||||
]
|
||||
|
||||
{ #category : #generated }
|
||||
CarpPairNode >> key: aCarpExpressionNode [
|
||||
|
||||
self key notNil ifTrue: [ self key parent: nil ].
|
||||
key := aCarpExpressionNode.
|
||||
self key notNil ifTrue: [ self key parent: self ]
|
||||
]
|
||||
|
||||
{ #category : #generated }
|
||||
CarpPairNode >> nodeVariables [
|
||||
|
||||
^ #( #key #value )
|
||||
]
|
||||
|
||||
{ #category : #generated }
|
||||
CarpPairNode >> value [
|
||||
|
||||
^ value
|
||||
]
|
||||
|
||||
{ #category : #generated }
|
||||
CarpPairNode >> value: aCarpExpressionNode [
|
||||
|
||||
self value notNil ifTrue: [ self value parent: nil ].
|
||||
value := aCarpExpressionNode.
|
||||
self value notNil ifTrue: [ self value parent: self ]
|
||||
]
|
44
src/Carp-AST/CarpQuoteNode.class.st
Normal file
44
src/Carp-AST/CarpQuoteNode.class.st
Normal file
@@ -0,0 +1,44 @@
|
||||
Class {
|
||||
#name : #CarpQuoteNode,
|
||||
#superclass : #CarpExpressionNode,
|
||||
#instVars : [
|
||||
'value'
|
||||
],
|
||||
#category : #'Carp-AST'
|
||||
}
|
||||
|
||||
{ #category : #generated }
|
||||
CarpQuoteNode >> acceptVisitor: anExpressionVisitor [
|
||||
|
||||
^ anExpressionVisitor visitQuote: self
|
||||
]
|
||||
|
||||
{ #category : #accessing }
|
||||
CarpQuoteNode >> isQuoted [
|
||||
^ true
|
||||
]
|
||||
|
||||
{ #category : #accessing }
|
||||
CarpQuoteNode >> newMethod [
|
||||
"This is a new method"
|
||||
]
|
||||
|
||||
{ #category : #generated }
|
||||
CarpQuoteNode >> nodeVariables [
|
||||
|
||||
^ #( #value )
|
||||
]
|
||||
|
||||
{ #category : #generated }
|
||||
CarpQuoteNode >> value [
|
||||
|
||||
^ value
|
||||
]
|
||||
|
||||
{ #category : #generated }
|
||||
CarpQuoteNode >> value: aCarpExpressionNode [
|
||||
|
||||
self value notNil ifTrue: [ self value parent: nil ].
|
||||
value := aCarpExpressionNode.
|
||||
self value notNil ifTrue: [ self value parent: self ]
|
||||
]
|
40
src/Carp-AST/CarpStartNode.class.st
Normal file
40
src/Carp-AST/CarpStartNode.class.st
Normal file
@@ -0,0 +1,40 @@
|
||||
Class {
|
||||
#name : #CarpStartNode,
|
||||
#superclass : #CarpExpressionNode,
|
||||
#instVars : [
|
||||
'expressions'
|
||||
],
|
||||
#category : #'Carp-AST'
|
||||
}
|
||||
|
||||
{ #category : #generated }
|
||||
CarpStartNode >> acceptVisitor: anExpressionVisitor [
|
||||
|
||||
^ anExpressionVisitor visitStart: self
|
||||
]
|
||||
|
||||
{ #category : #generated }
|
||||
CarpStartNode >> compositeNodeVariables [
|
||||
|
||||
^ #( #expressions )
|
||||
]
|
||||
|
||||
{ #category : #generated }
|
||||
CarpStartNode >> expressions [
|
||||
|
||||
^ expressions
|
||||
]
|
||||
|
||||
{ #category : #generated }
|
||||
CarpStartNode >> expressions: anOrderedCollection [
|
||||
|
||||
self setParents: self expressions to: nil.
|
||||
expressions := anOrderedCollection.
|
||||
self setParents: self expressions to: self
|
||||
]
|
||||
|
||||
{ #category : #'generated-initialize-release' }
|
||||
CarpStartNode >> initialize [
|
||||
super initialize.
|
||||
expressions := OrderedCollection new: 2.
|
||||
]
|
32
src/Carp-AST/CarpStringNode.class.st
Normal file
32
src/Carp-AST/CarpStringNode.class.st
Normal file
@@ -0,0 +1,32 @@
|
||||
Class {
|
||||
#name : #CarpStringNode,
|
||||
#superclass : #CarpExpressionNode,
|
||||
#instVars : [
|
||||
'value'
|
||||
],
|
||||
#category : #'Carp-AST'
|
||||
}
|
||||
|
||||
{ #category : #generated }
|
||||
CarpStringNode >> acceptVisitor: anExpressionVisitor [
|
||||
|
||||
^ anExpressionVisitor visitString: self
|
||||
]
|
||||
|
||||
{ #category : #generated }
|
||||
CarpStringNode >> tokenVariables [
|
||||
|
||||
^ #( #value )
|
||||
]
|
||||
|
||||
{ #category : #generated }
|
||||
CarpStringNode >> value [
|
||||
|
||||
^ value
|
||||
]
|
||||
|
||||
{ #category : #generated }
|
||||
CarpStringNode >> value: aSmaCCToken [
|
||||
|
||||
value := aSmaCCToken
|
||||
]
|
32
src/Carp-AST/CarpVariableNode.class.st
Normal file
32
src/Carp-AST/CarpVariableNode.class.st
Normal file
@@ -0,0 +1,32 @@
|
||||
Class {
|
||||
#name : #CarpVariableNode,
|
||||
#superclass : #CarpExpressionNode,
|
||||
#instVars : [
|
||||
'value'
|
||||
],
|
||||
#category : #'Carp-AST'
|
||||
}
|
||||
|
||||
{ #category : #generated }
|
||||
CarpVariableNode >> acceptVisitor: anExpressionVisitor [
|
||||
|
||||
^ anExpressionVisitor visitVariable: self
|
||||
]
|
||||
|
||||
{ #category : #generated }
|
||||
CarpVariableNode >> tokenVariables [
|
||||
|
||||
^ #( #value )
|
||||
]
|
||||
|
||||
{ #category : #generated }
|
||||
CarpVariableNode >> value [
|
||||
|
||||
^ value
|
||||
]
|
||||
|
||||
{ #category : #generated }
|
||||
CarpVariableNode >> value: aSmaCCToken [
|
||||
|
||||
value := aSmaCCToken
|
||||
]
|
1
src/Carp-AST/package.st
Normal file
1
src/Carp-AST/package.st
Normal file
@@ -0,0 +1 @@
|
||||
Package { #name : #'Carp-AST' }
|
Reference in New Issue
Block a user