From 60321973fb92a717d1750165a86792fef02b6fdc Mon Sep 17 00:00:00 2001 From: Veit Heller Date: Tue, 5 Apr 2022 19:18:05 +0200 Subject: [PATCH] Multiple changes: - Recategorize package - Add application skeleton --- src/Carp/CarpApplication.class.st | 27 ++++++++++++++++++++ src/Carp/CarpArrayNode.class.st | 2 +- src/Carp/CarpCharacterNode.class.st | 2 +- src/Carp/CarpDerefNode.class.st | 2 +- src/Carp/CarpExpressionNode.class.st | 2 +- src/Carp/CarpExpressionNodeVisitor.class.st | 2 +- src/Carp/CarpFile.class.st | 2 +- src/Carp/CarpListNode.class.st | 2 +- src/Carp/CarpMapNode.class.st | 2 +- src/Carp/CarpModuleOrTypeNode.class.st | 2 +- src/Carp/CarpNumberNode.class.st | 2 +- src/Carp/CarpPairNode.class.st | 2 +- src/Carp/CarpParser.class.st | 2 +- src/Carp/CarpPatternNode.class.st | 2 +- src/Carp/CarpQuoteNode.class.st | 2 +- src/Carp/CarpRefCallNode.class.st | 2 +- src/Carp/CarpRefNode.class.st | 2 +- src/Carp/CarpScanner.class.st | 2 +- src/Carp/CarpStartNode.class.st | 2 +- src/Carp/CarpStringNode.class.st | 2 +- src/Carp/CarpUnquoteNode.class.st | 2 +- src/Carp/CarpVariableNode.class.st | 2 +- src/Carp/LanguageLinkSettings.extension.st | 20 +++++++++++++++ src/Carp/TCarpExpressionNodeVisitor.trait.st | 2 +- 24 files changed, 69 insertions(+), 22 deletions(-) create mode 100644 src/Carp/CarpApplication.class.st create mode 100644 src/Carp/LanguageLinkSettings.extension.st diff --git a/src/Carp/CarpApplication.class.st b/src/Carp/CarpApplication.class.st new file mode 100644 index 0000000..e9dcf95 --- /dev/null +++ b/src/Carp/CarpApplication.class.st @@ -0,0 +1,27 @@ +Class { + #name : #CarpApplication, + #superclass : #LanguageLinkApplication, + #instVars : [ + 'uniqueInstance' + ], + #category : #'Carp-LanguageLink' +} + +{ #category : #'start-stop' } +CarpApplication class >> start [ + + ^ self startWith: LanguageLinkSettings jsDefaultSettings. +] + +{ #category : #accessing } +CarpApplication >> baseApplication [ + ^ CarpApplication +] + +{ #category : #accessing } +CarpApplication >> initializeHandlers [ + loggingHandler := LanguageLinkLoggingHandler application: self. + communicationHandler := LanguageLinkCommunicationHandler application: self. + processHandler := LanguageLinkServerHandler application: self. + "executionHandler := CarpExecutionHandler application: self" +] diff --git a/src/Carp/CarpArrayNode.class.st b/src/Carp/CarpArrayNode.class.st index 7f75826..10824c2 100644 --- a/src/Carp/CarpArrayNode.class.st +++ b/src/Carp/CarpArrayNode.class.st @@ -4,7 +4,7 @@ Class { #instVars : [ 'expressions' ], - #category : #Carp + #category : #'Carp-AST' } { #category : #generated } diff --git a/src/Carp/CarpCharacterNode.class.st b/src/Carp/CarpCharacterNode.class.st index 187064f..070f20b 100644 --- a/src/Carp/CarpCharacterNode.class.st +++ b/src/Carp/CarpCharacterNode.class.st @@ -4,7 +4,7 @@ Class { #instVars : [ 'value' ], - #category : #Carp + #category : #'Carp-AST' } { #category : #generated } diff --git a/src/Carp/CarpDerefNode.class.st b/src/Carp/CarpDerefNode.class.st index 804f832..e090dd6 100644 --- a/src/Carp/CarpDerefNode.class.st +++ b/src/Carp/CarpDerefNode.class.st @@ -4,7 +4,7 @@ Class { #instVars : [ 'value' ], - #category : #Carp + #category : #'Carp-AST' } { #category : #generated } diff --git a/src/Carp/CarpExpressionNode.class.st b/src/Carp/CarpExpressionNode.class.st index 6b69b42..7f784a4 100644 --- a/src/Carp/CarpExpressionNode.class.st +++ b/src/Carp/CarpExpressionNode.class.st @@ -1,7 +1,7 @@ Class { #name : #CarpExpressionNode, #superclass : #SmaCCParseNode, - #category : #'Carp-Carp' + #category : #'Carp-AST' } { #category : #generated } diff --git a/src/Carp/CarpExpressionNodeVisitor.class.st b/src/Carp/CarpExpressionNodeVisitor.class.st index b4c5ac3..796ee69 100644 --- a/src/Carp/CarpExpressionNodeVisitor.class.st +++ b/src/Carp/CarpExpressionNodeVisitor.class.st @@ -3,5 +3,5 @@ Class { #superclass : #Object, #traits : 'TCarpExpressionNodeVisitor', #classTraits : 'TCarpExpressionNodeVisitor classTrait', - #category : #Carp + #category : #'Carp-Parser' } diff --git a/src/Carp/CarpFile.class.st b/src/Carp/CarpFile.class.st index 8381f8b..2a0783c 100644 --- a/src/Carp/CarpFile.class.st +++ b/src/Carp/CarpFile.class.st @@ -5,7 +5,7 @@ Class { 'fileName', 'contents' ], - #category : #Carp + #category : #'Carp-Parser' } { #category : #'instance creation' } diff --git a/src/Carp/CarpListNode.class.st b/src/Carp/CarpListNode.class.st index dd4f2b1..2733432 100644 --- a/src/Carp/CarpListNode.class.st +++ b/src/Carp/CarpListNode.class.st @@ -4,7 +4,7 @@ Class { #instVars : [ 'expressions' ], - #category : #Carp + #category : #'Carp-AST' } { #category : #generated } diff --git a/src/Carp/CarpMapNode.class.st b/src/Carp/CarpMapNode.class.st index 6a597a1..93ca60d 100644 --- a/src/Carp/CarpMapNode.class.st +++ b/src/Carp/CarpMapNode.class.st @@ -4,7 +4,7 @@ Class { #instVars : [ 'pairs' ], - #category : #Carp + #category : #'Carp-AST' } { #category : #generated } diff --git a/src/Carp/CarpModuleOrTypeNode.class.st b/src/Carp/CarpModuleOrTypeNode.class.st index 73ac289..42ffd0d 100644 --- a/src/Carp/CarpModuleOrTypeNode.class.st +++ b/src/Carp/CarpModuleOrTypeNode.class.st @@ -4,7 +4,7 @@ Class { #instVars : [ 'value' ], - #category : #Carp + #category : #'Carp-AST' } { #category : #generated } diff --git a/src/Carp/CarpNumberNode.class.st b/src/Carp/CarpNumberNode.class.st index a4f05dd..db30bce 100644 --- a/src/Carp/CarpNumberNode.class.st +++ b/src/Carp/CarpNumberNode.class.st @@ -4,7 +4,7 @@ Class { #instVars : [ 'value' ], - #category : #Carp + #category : #'Carp-AST' } { #category : #generated } diff --git a/src/Carp/CarpPairNode.class.st b/src/Carp/CarpPairNode.class.st index c9663e7..5e80154 100644 --- a/src/Carp/CarpPairNode.class.st +++ b/src/Carp/CarpPairNode.class.st @@ -5,7 +5,7 @@ Class { 'key', 'value' ], - #category : #Carp + #category : #'Carp-AST' } { #category : #generated } diff --git a/src/Carp/CarpParser.class.st b/src/Carp/CarpParser.class.st index 0e44aed..e4d9f8a 100644 --- a/src/Carp/CarpParser.class.st +++ b/src/Carp/CarpParser.class.st @@ -1,7 +1,7 @@ Class { #name : #CarpParser, #superclass : #SmaCCGLRParser, - #category : #Carp + #category : #'Carp-Parser' } { #category : #'generated-accessing' } diff --git a/src/Carp/CarpPatternNode.class.st b/src/Carp/CarpPatternNode.class.st index 62cf1e7..51e125a 100644 --- a/src/Carp/CarpPatternNode.class.st +++ b/src/Carp/CarpPatternNode.class.st @@ -4,7 +4,7 @@ Class { #instVars : [ 'value' ], - #category : #Carp + #category : #'Carp-AST' } { #category : #generated } diff --git a/src/Carp/CarpQuoteNode.class.st b/src/Carp/CarpQuoteNode.class.st index 9bec96f..4f9191a 100644 --- a/src/Carp/CarpQuoteNode.class.st +++ b/src/Carp/CarpQuoteNode.class.st @@ -4,7 +4,7 @@ Class { #instVars : [ 'value' ], - #category : #Carp + #category : #'Carp-AST' } { #category : #generated } diff --git a/src/Carp/CarpRefCallNode.class.st b/src/Carp/CarpRefCallNode.class.st index 522136f..d5d8181 100644 --- a/src/Carp/CarpRefCallNode.class.st +++ b/src/Carp/CarpRefCallNode.class.st @@ -4,7 +4,7 @@ Class { #instVars : [ 'value' ], - #category : #Carp + #category : #'Carp-AST' } { #category : #generated } diff --git a/src/Carp/CarpRefNode.class.st b/src/Carp/CarpRefNode.class.st index 8c43210..a2843de 100644 --- a/src/Carp/CarpRefNode.class.st +++ b/src/Carp/CarpRefNode.class.st @@ -4,7 +4,7 @@ Class { #instVars : [ 'value' ], - #category : #Carp + #category : #'Carp-AST' } { #category : #generated } diff --git a/src/Carp/CarpScanner.class.st b/src/Carp/CarpScanner.class.st index cc8f615..17df809 100644 --- a/src/Carp/CarpScanner.class.st +++ b/src/Carp/CarpScanner.class.st @@ -1,7 +1,7 @@ Class { #name : #CarpScanner, #superclass : #SmaCCScanner, - #category : #Carp + #category : #'Carp-Parser' } { #category : #generated } diff --git a/src/Carp/CarpStartNode.class.st b/src/Carp/CarpStartNode.class.st index fd60cdd..bf90707 100644 --- a/src/Carp/CarpStartNode.class.st +++ b/src/Carp/CarpStartNode.class.st @@ -4,7 +4,7 @@ Class { #instVars : [ 'expressions' ], - #category : #Carp + #category : #'Carp-AST' } { #category : #generated } diff --git a/src/Carp/CarpStringNode.class.st b/src/Carp/CarpStringNode.class.st index fe2f768..a4aa7b8 100644 --- a/src/Carp/CarpStringNode.class.st +++ b/src/Carp/CarpStringNode.class.st @@ -4,7 +4,7 @@ Class { #instVars : [ 'value' ], - #category : #Carp + #category : #'Carp-AST' } { #category : #generated } diff --git a/src/Carp/CarpUnquoteNode.class.st b/src/Carp/CarpUnquoteNode.class.st index 50e0f8c..0713473 100644 --- a/src/Carp/CarpUnquoteNode.class.st +++ b/src/Carp/CarpUnquoteNode.class.st @@ -4,7 +4,7 @@ Class { #instVars : [ 'value' ], - #category : #Carp + #category : #'Carp-AST' } { #category : #generated } diff --git a/src/Carp/CarpVariableNode.class.st b/src/Carp/CarpVariableNode.class.st index fdfdd3a..d99a7eb 100644 --- a/src/Carp/CarpVariableNode.class.st +++ b/src/Carp/CarpVariableNode.class.st @@ -4,7 +4,7 @@ Class { #instVars : [ 'value' ], - #category : #Carp + #category : #'Carp-AST' } { #category : #generated } diff --git a/src/Carp/LanguageLinkSettings.extension.st b/src/Carp/LanguageLinkSettings.extension.st new file mode 100644 index 0000000..a700a07 --- /dev/null +++ b/src/Carp/LanguageLinkSettings.extension.st @@ -0,0 +1,20 @@ +Extension { #name : #LanguageLinkSettings } + +{ #category : #'*Carp' } +LanguageLinkSettings class >> carpDefaultSettings [ + + ^ self new + clientSocketAddress: (LanguageLinkSocketAddress + ipOrName: 'localhost' port: (9000 + 99 atRandom)); + serverSocketAddress: (LanguageLinkSocketAddress + ipOrName: 'localhost' port: (9900 + 99 atRandom)); + messageBrokerStrategy: LanguageLinkHttpMessageBroker; + serverProcessClass: JSLinkPharoNodejsProcess; + platform: JSLinkPharoPlatform new; + commandFactoryClass: JSLinkCommandFactory; + commandClass: LanguageLinkCommand; + serializerClass: LanguageLinkSerializer; + deserializerClass: JSLinkDeserializer; + parserClass: CarpParser; + yourself +] diff --git a/src/Carp/TCarpExpressionNodeVisitor.trait.st b/src/Carp/TCarpExpressionNodeVisitor.trait.st index bdc8b33..663be28 100644 --- a/src/Carp/TCarpExpressionNodeVisitor.trait.st +++ b/src/Carp/TCarpExpressionNodeVisitor.trait.st @@ -2,7 +2,7 @@ Trait { #name : #TCarpExpressionNodeVisitor, #traits : 'TSmaCCParseNodeVisitor', #classTraits : 'TSmaCCParseNodeVisitor classTrait', - #category : #Carp + #category : #'Carp-Parser' } { #category : #generated }