-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
More grammar / parser work on Macro Fog.
- Loading branch information
1 parent
ad4f2e3
commit dbdb547
Showing
34 changed files
with
104 additions
and
21 deletions.
There are no files selected for viewing
3 changes: 3 additions & 0 deletions
3
packages/Mist-Compiler.package/MistGrammar.class/instance/assignmentExpression.st
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
grammar | ||
assignmentExpression | ||
^ assignment , expression |
3 changes: 3 additions & 0 deletions
3
packages/Mist-Compiler.package/MistGrammar.class/instance/binaryExpression.st
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
grammar | ||
binaryExpression | ||
^ unaryExpression , binaryMessage optional |
6 changes: 6 additions & 0 deletions
6
packages/Mist-Compiler.package/MistGrammar.class/instance/binaryMessage.st
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
grammar | ||
binaryMessage | ||
^ (binaryToken , binaryExpression) ==> [ :nodes | | ||
Array | ||
with: (Array with: nodes first) | ||
with: (Array with: nodes second) ] |
3 changes: 3 additions & 0 deletions
3
packages/Mist-Compiler.package/MistGrammar.class/instance/expression.st
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
grammar | ||
expression | ||
^ assignmentExpression / cascadeExpression |
3 changes: 3 additions & 0 deletions
3
packages/Mist-Compiler.package/MistGrammar.class/instance/unaryExpression.st
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
grammar | ||
unaryExpression | ||
^ ((unaryExpression , unaryMessage) / primary) memoized |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
3 changes: 3 additions & 0 deletions
3
packages/Mist-Compiler.package/MistParser.class/instance/assignment.st
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
grammar | ||
assignment | ||
^ super assignment map: [ :variable :assignmentToken | variable ] |
4 changes: 4 additions & 0 deletions
4
packages/Mist-Compiler.package/MistParser.class/instance/assignmentExpression.st
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
grammar | ||
assignmentExpression | ||
^ super assignmentExpression | ||
map: [ :variable :expression | FogAssignmentNode variable: variable expression: expression ] |
7 changes: 7 additions & 0 deletions
7
packages/Mist-Compiler.package/MistParser.class/instance/cascadeExpression.st
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
grammar | ||
cascadeExpression | ||
^ super cascadeExpression | ||
map: [ :keywordExpression :cascadeMessages | | ||
cascadeMessages isEmpty | ||
ifFalse: [ self error: 'Cascades are not yet supported.' ]. | ||
keywordExpression ] |
11 changes: 11 additions & 0 deletions
11
packages/Mist-Compiler.package/MistParser.class/instance/keywordExpression.st
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
grammar | ||
keywordExpression | ||
^ super keywordExpression | ||
map: [ :binaryExpression :keywordMessage | | ||
keywordMessage isNil | ||
ifTrue: [ binaryExpression ] | ||
ifFalse: [ | ||
FogMessageSendNode | ||
receiver: binaryExpression | ||
selector: (keywordMessage first inject: '' into: [ :selector :next | selector , next ]) | ||
arguments: keywordMessage second ] ] |
3 changes: 3 additions & 0 deletions
3
packages/Mist-Compiler.package/MistParser.class/instance/variable.st
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
grammar | ||
variable | ||
^ super variable ==> [ :variableName | FogVariableReferenceNode variableName: variableName ] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
3 changes: 3 additions & 0 deletions
3
packages/Mist-MacroFog.package/FogAssignmentNode.class/class/variable.expression..st
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
instance creation | ||
variable: variableNode expression: expressionNode | ||
^ self new variable: variableNode expression: expressionNode |
4 changes: 4 additions & 0 deletions
4
packages/Mist-MacroFog.package/FogAssignmentNode.class/instance/variable.expression..st
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
initialization | ||
variable: variableNode expression: expressionNode | ||
variable := variableNode. | ||
expression := expressionNode |
4 changes: 2 additions & 2 deletions
4
packages/Mist-MacroFog.package/FogAssignmentNode.class/methodProperties.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,5 @@ | ||
{ | ||
"class" : { | ||
}, | ||
"variable:expression:" : "MartinMcClure 9/15/2015 21:14" }, | ||
"instance" : { | ||
} } | ||
"variable:expression:" : "MartinMcClure 9/15/2015 21:15" } } |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
3 changes: 3 additions & 0 deletions
3
...ages/Mist-MacroFog.package/FogMessageSendNode.class/class/receiver.selector.arguments..st
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
instance creation | ||
receiver: receiver selector: selector arguments: arguments | ||
^ self new receiver: receiver selector: selector arguments: arguments |
5 changes: 5 additions & 0 deletions
5
...s/Mist-MacroFog.package/FogMessageSendNode.class/instance/receiver.selector.arguments..st
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
instance creation | ||
receiver: aReceiver selector: aSelector arguments: argumentNodes | ||
receiver := aReceiver. | ||
selector := aSelector. | ||
arguments := argumentNodes |
4 changes: 2 additions & 2 deletions
4
packages/Mist-MacroFog.package/FogMessageSendNode.class/methodProperties.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,5 @@ | ||
{ | ||
"class" : { | ||
}, | ||
"receiver:selector:arguments:" : "MartinMcClure 9/15/2015 21:54" }, | ||
"instance" : { | ||
} } | ||
"receiver:selector:arguments:" : "MartinMcClure 9/15/2015 21:55" } } |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2 changes: 1 addition & 1 deletion
2
...s/Mist-MacroFog.package/FogMethodNode.class/instance/methodDeclaration.methodSequence..st
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,5 @@ | ||
initialization | ||
methodDeclaration: methodDeclaration methodSequence: methodSequence | ||
selectorParts := methodDeclaration first. | ||
selector := methodDeclaration first inject: '' into: [ :composite :nextPart | composite , nextPart ]. | ||
parameters := methodDeclaration last. | ||
methodBody := methodSequence |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2 changes: 1 addition & 1 deletion
2
packages/Mist-MacroFog.package/FogTempVarScopeNode.class/instance/temporaries.statements..st
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
initialization | ||
temporaries: temporaries statements: statements | ||
variableNames := temporaries. | ||
variables := temporaries. | ||
childNode := FogSequenceNode with: statements |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
5 changes: 5 additions & 0 deletions
5
packages/Mist-MacroFog.package/FogVariableReferenceNode.class/instance/printOn..st
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
printing | ||
printOn: aStream | ||
aStream | ||
nextPutAll: 'variable: '; | ||
nextPutAll: variableName |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
(name 'Mist-MacroFog-MartinMcClure.3' message 'A few more things are parsing correctly.' id 'b3706c66-05e9-4ee1-acaf-82e967672700' date '14 September 2015' time '10:53:59.871746 pm' author 'MartinMcClure' ancestors ((name 'Mist-MacroFog-MartinMcClure.2' message 'Got a bit further on parsing.' id '4070ac8f-0837-4d2d-aa91-bd81f6b2fcd0' date '13 September 2015' time '10:04:25.258538 pm' author 'MartinMcClure' ancestors ((name 'Mist-MacroFog-MartinMcClure.1' message 'The beginnings of a parser to parse into Macro Fog nodes.' id '1374cf2f-f54c-4e7d-9bbb-c56d835a6c84' date '13 September 2015' time '1:32:09.395157 pm' author 'MartinMcClure' ancestors () stepChildren ())) stepChildren ())) stepChildren ()) | ||
(name 'Mist-MacroFog-MartinMcClure.4' message 'More grammar / parser work on Macro Fog.' id 'cb14028c-ba32-4354-b9dd-83d2be77e8b1' date '15 September 2015' time '11:37:10.344043 pm' author 'MartinMcClure' ancestors ((name 'Mist-MacroFog-MartinMcClure.3' message 'A few more things are parsing correctly.' id 'b3706c66-05e9-4ee1-acaf-82e967672700' date '14 September 2015' time '10:53:59.871746 pm' author 'MartinMcClure' ancestors ((name 'Mist-MacroFog-MartinMcClure.2' message 'Got a bit further on parsing.' id '4070ac8f-0837-4d2d-aa91-bd81f6b2fcd0' date '13 September 2015' time '10:04:25.258538 pm' author 'MartinMcClure' ancestors ((name 'Mist-MacroFog-MartinMcClure.1' message 'The beginnings of a parser to parse into Macro Fog nodes.' id '1374cf2f-f54c-4e7d-9bbb-c56d835a6c84' date '13 September 2015' time '1:32:09.395157 pm' author 'MartinMcClure' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.