Author: mathk
Date: Fri Mar 28 11:07:33 2014
New Revision: 10657

URL: http://svn.gna.org/viewcvs/etoile?rev=10657&view=rev
Log:
Splitting ParserKit

Added:
    
trunk/Etoile/Languages/ParserKit/ParserKit.bundle/Resources/PKAstExpressionGen.st
    trunk/Etoile/Languages/ParserKit/ParserKit.bundle/Resources/PKParseFail.st
    trunk/Etoile/Languages/ParserKit/ParserKit.bundle/Resources/PKRules.st
Modified:
    trunk/Etoile/Languages/ParserKit/GNUmakefile
    trunk/Etoile/Languages/ParserKit/ParserKit.bundle/Resources/LKInfo.plist
    trunk/Etoile/Languages/ParserKit/ParserKit.bundle/Resources/ParserKit.st

Modified: trunk/Etoile/Languages/ParserKit/GNUmakefile
URL: 
http://svn.gna.org/viewcvs/etoile/trunk/Etoile/Languages/ParserKit/GNUmakefile?rev=10657&r1=10656&r2=10657&view=diff
==============================================================================
--- trunk/Etoile/Languages/ParserKit/GNUmakefile        (original)
+++ trunk/Etoile/Languages/ParserKit/GNUmakefile        Fri Mar 28 11:07:33 2014
@@ -26,6 +26,8 @@
 ST_FILES = ParserKit.st\
        Utils.st\
        PKParseAction.st\
+       PKParseFail.st\
+       PKRules.st\
        PKParseMatch.st\
        PKParseRestriction.st\
        PKRestrictedMatch.st\

Modified: 
trunk/Etoile/Languages/ParserKit/ParserKit.bundle/Resources/LKInfo.plist
URL: 
http://svn.gna.org/viewcvs/etoile/trunk/Etoile/Languages/ParserKit/ParserKit.bundle/Resources/LKInfo.plist?rev=10657&r1=10656&r2=10657&view=diff
==============================================================================
Binary files - no diff available.

Added: 
trunk/Etoile/Languages/ParserKit/ParserKit.bundle/Resources/PKAstExpressionGen.st
URL: 
http://svn.gna.org/viewcvs/etoile/trunk/Etoile/Languages/ParserKit/ParserKit.bundle/Resources/PKAstExpressionGen.st?rev=10657&view=auto
==============================================================================
--- 
trunk/Etoile/Languages/ParserKit/ParserKit.bundle/Resources/PKAstExpressionGen.st
   (added)
+++ 
trunk/Etoile/Languages/ParserKit/ParserKit.bundle/Resources/PKAstExpressionGen.st
   Fri Mar 28 11:07:33 2014
@@ -0,0 +1,20 @@
+
+"
+  Expression generator, presently only used for alternative expressions.
+"
+NSObject subclass: PKAstExpressionGen [
+       | expression operation |
+
+       initWithExp: exp operation: op [
+               expression := exp.
+               operation := op
+       ]
+
+       reduce: exp [
+               exp == nil 
+            ifFalse: [ expression ]
+                       ifTrue: [ operation value: exp value: expression ]
+       ]
+]
+
+

Added: 
trunk/Etoile/Languages/ParserKit/ParserKit.bundle/Resources/PKParseFail.st
URL: 
http://svn.gna.org/viewcvs/etoile/trunk/Etoile/Languages/ParserKit/ParserKit.bundle/Resources/PKParseFail.st?rev=10657&view=auto
==============================================================================
--- trunk/Etoile/Languages/ParserKit/ParserKit.bundle/Resources/PKParseFail.st  
(added)
+++ trunk/Etoile/Languages/ParserKit/ParserKit.bundle/Resources/PKParseFail.st  
Fri Mar 28 11:07:33 2014
@@ -0,0 +1,36 @@
+
+NSObject subclass: PKParseFail [
+       | input failedPosition describ delegate cause |
+
+       initWithInput: list description: string cause: theCause [
+               super init.
+               describ := string.
+               input := list.
+               cause := theCause.
+               failedPosition := input position.
+               ^self
+       ]
+       initWithInput: list description: string [
+               ^self initWithInput: list description: string cause: nil
+       ]
+
+       cause [
+               ^(cause == nil) ifTrue: [ self ]
+                               ifFalse: [ cause cause ]
+       ]  
+
+       setDelegate: anObject  [ delegate := anObject]
+       stopPosition [^failedPosition]
+       isFailure [ ^true ]
+       isSuccess [ ^false ]
+       matchAction [^nil]
+       matchText [^'PKParseFail']
+       bind: name ["No sensible thing can be done here"]
+       description [
+               | desc |
+                desc := 'PKMatchFailure  ( At: ''',   failedPosition 
description, ''', ', input stream, ') ', describ, '\n'.
+               (nil == cause) ifFalse: [desc := desc, 'Cause: ', self cause 
description, '\n'].
+               ^desc. 
+       ]
+]
+

Added: trunk/Etoile/Languages/ParserKit/ParserKit.bundle/Resources/PKRules.st
URL: 
http://svn.gna.org/viewcvs/etoile/trunk/Etoile/Languages/ParserKit/ParserKit.bundle/Resources/PKRules.st?rev=10657&view=auto
==============================================================================
--- trunk/Etoile/Languages/ParserKit/ParserKit.bundle/Resources/PKRules.st      
(added)
+++ trunk/Etoile/Languages/ParserKit/ParserKit.bundle/Resources/PKRules.st      
Fri Mar 28 11:07:33 2014
@@ -0,0 +1,74 @@
+
+
+"
+  PKRules encapsulates the rules set up by a single grammar.
+"
+NSObject subclass: PKRules [
+       | parent rules name |
+
+       initWithName: string [
+               super init.
+               name := string.
+               parent := nil.
+               rules := NSMutableDictionary new.
+               ^self
+       ]
+
+       at: rule [
+               ^self lookup: rule ifFailed: [
+                       | ruleExp |
+                       ruleExp := PKNonTerminalExpression alloc initWithName: 
rule exp: nil.
+                       rules setValue: ruleExp forKey: rule.
+                       ruleExp
+               ]
+       ]
+
+       addRule: name expression: exp [
+               | rule |
+               rule := rules objectForKey: name.
+               rule == nil ifTrue: [
+                       rule := PKNonTerminalExpression alloc initWithName: 
name exp: exp.
+                   rules setValue: rule forKey: name
+               ] ifFalse: [
+                       rule setExpression: exp
+               ].
+               ^rule
+       ]
+
+       lookup: rule ifFailed: aBlock [
+               | return |
+               return := rules objectForKey: rule.
+               return == nil ifTrue:[
+                       parent == nil
+                ifTrue: [ return := aBlock value ]
+                               ifFalse: [      
+                                       return := parent lookup: rule ifFailed: 
aBlock
+                               ]
+               ].
+               ^return 
+       ]
+               
+       initWithParent: pkRules name: string [
+               self initWithName: string.
+               parent := pkRules
+       ]
+
+       name [ ^name ]
+
+       description [
+               | desc |
+               desc := name.
+               parent == nil ifFalse: [ desc := desc, ' : ', parent name ].
+               desc := desc, ' {\n'.
+               rules allKeys do: [:key | 
+                       desc := desc, key, ' <- ', (rules objectForKey: key) 
expression description, '\n'
+               ].
+               ^desc, '}'      
+       ]
+               
+       subgrammar: string [
+               ^self class alloc initWithParent: self name: string
+       ]
+]
+
+

Modified: 
trunk/Etoile/Languages/ParserKit/ParserKit.bundle/Resources/ParserKit.st
URL: 
http://svn.gna.org/viewcvs/etoile/trunk/Etoile/Languages/ParserKit/ParserKit.bundle/Resources/ParserKit.st?rev=10657&r1=10656&r2=10657&view=diff
==============================================================================
--- trunk/Etoile/Languages/ParserKit/ParserKit.bundle/Resources/ParserKit.st    
(original)
+++ trunk/Etoile/Languages/ParserKit/ParserKit.bundle/Resources/ParserKit.st    
Fri Mar 28 11:07:33 2014
@@ -28,41 +28,6 @@
 
 ============================================================================
 "
-NSObject subclass: PKParseFail [
-       | input failedPosition describ delegate cause |
-
-       initWithInput: list description: string cause: theCause [
-               super init.
-               describ := string.
-               input := list.
-               cause := theCause.
-               failedPosition := input position.
-               ^self
-       ]
-       initWithInput: list description: string [
-               ^self initWithInput: list description: string cause: nil
-       ]
-
-       cause [
-               ^(cause == nil) ifTrue: [ self ]
-                               ifFalse: [ cause cause ]
-       ]  
-
-       setDelegate: anObject  [ delegate := anObject]
-       stopPosition [^failedPosition]
-       isFailure [ ^true ]
-       isSuccess [ ^false ]
-       matchAction [^nil]
-       matchText [^'PKParseFail']
-       bind: name ["No sensible thing can be done here"]
-       description [
-               | desc |
-                desc := 'PKMatchFailure  ( At: ''',   failedPosition 
description, ''', ', input stream, ') ', describ, '\n'.
-               (nil == cause) ifFalse: [desc := desc, 'Cause: ', self cause 
description, '\n'].
-               ^desc. 
-       ]
-]
-
 "
 ============================================================================
   
@@ -70,79 +35,6 @@
   
 ============================================================================
 "
-
-
-"
-  PKRules encapsulates the rules set up by a single grammar.
-"
-NSObject subclass: PKRules [
-       | parent rules name |
-
-       initWithName: string [
-               super init.
-               name := string.
-               parent := nil.
-               rules := NSMutableDictionary new.
-               ^self
-       ]
-
-       at: rule [
-               ^self lookup: rule ifFailed: [
-                       | ruleExp |
-                       ruleExp := PKNonTerminalExpression alloc initWithName: 
rule exp: nil.
-                       rules setValue: ruleExp forKey: rule.
-                       ruleExp
-               ]
-       ]
-
-       addRule: name expression: exp [
-               | rule |
-               rule := rules objectForKey: name.
-               rule == nil ifTrue: [
-                       rule := PKNonTerminalExpression alloc initWithName: 
name exp: exp.
-                   rules setValue: rule forKey: name
-               ] ifFalse: [
-                       rule setExpression: exp
-               ].
-               ^rule
-       ]
-
-       lookup: rule ifFailed: aBlock [
-               | return |
-               return := rules objectForKey: rule.
-               return == nil ifTrue:[
-                       parent == nil
-                ifTrue: [ return := aBlock value ]
-                               ifFalse: [      
-                                       return := parent lookup: rule ifFailed: 
aBlock
-                               ]
-               ].
-               ^return 
-       ]
-               
-       initWithParent: pkRules name: string [
-               self initWithName: string.
-               parent := pkRules
-       ]
-
-       name [ ^name ]
-
-       description [
-               | desc |
-               desc := name.
-               parent == nil ifFalse: [ desc := desc, ' : ', parent name ].
-               desc := desc, ' {\n'.
-               rules allKeys do: [:key | 
-                       desc := desc, key, ' <- ', (rules objectForKey: key) 
expression description, '\n'
-               ].
-               ^desc, '}'      
-       ]
-               
-       subgrammar: string [
-               ^self class alloc initWithParent: self name: string
-       ]
-]
-
 
 NSObject subclass: PKParser [
        | +rulesRepo input rules delegate |
@@ -454,25 +346,6 @@
 "
 
 "
-  Expression generator, presently only used for alternative expressions.
-"
-NSObject subclass: PKAstExpressionGen [
-       | expression operation |
-
-       initWithExp: exp operation: op [
-               expression := exp.
-               operation := op
-       ]
-
-       reduce: exp [
-               exp == nil 
-            ifFalse: [ expression ]
-                       ifTrue: [ operation value: exp value: expression ]
-       ]
-]
-
-
-"
   The purpose of the delayed expression builder is to defer generating
   expressions that depend on global state until after the entire grammar
   has been parsed.


_______________________________________________
Etoile-cvs mailing list
[email protected]
https://mail.gna.org/listinfo/etoile-cvs

Reply via email to