Parser.st
changeset 2808 b754fa4e8172
parent 2790 ce9c576cf810
child 2810 90f8de7bf708
--- a/Parser.st	Sat Feb 04 11:54:34 2012 +0100
+++ b/Parser.st	Tue Feb 07 17:23:10 2012 +0100
@@ -8660,14 +8660,15 @@
     (tokenType == #Integer) ifFalse:[
         (tokenType == #String) ifTrue:[
             (parserFlags allowSqueakExtensions
-            or:[ parserFlags allowSqueakPrimitives ]) ifFalse:[
-                self parseError:'primitive name as string expected (Squeak primitives not allowed - see settings)'.
+            or:[ parserFlags allowSqueakPrimitives
+            or:[ parserFlags allowVisualAgePrimitives ]]) ifFalse:[
+                self parseError:'primitive name as string expected (Squeak/V''Age primitives not allowed - see settings)'.
             ].
         ] ifFalse:[
             (tokenType == #Identifier) ifTrue:[
                 (false "parserFlags allowVisualAgeExtensions"
                 or:[ parserFlags allowVisualAgePrimitives ]) ifFalse:[
-                    self parseError:'primitive number expected (VA-primitives not allowed - see settings)'.
+                    self parseError:'primitive number expected (V''Age-primitives not allowed - see settings)'.
                 ]
             ] ifFalse:[
                 self parseError:'primitive number expected'.
@@ -8718,11 +8719,25 @@
         ].
     ].
 
+    tokenType == $: ifTrue:[
+        "/ va-style: 
+        "/  <primitive: 'PACKAGER_PRIMITIVES':EsMakeAssociationGlobal>
+        primNumber isString ifFalse:[
+            self error:'unknown V''Age primitive spec format'.
+        ].
+        self nextToken. 
+        tokenType == #Identifier ifFalse:[
+            self parseError:'unknown V''Age primitive spec format'.
+        ].
+        primNumber := primNumber,':',tokenName.
+        self nextToken. 
+    ].
+
     self checkForClosingAngle.
     ^ primNumber
 
     "Modified: / 03-11-2009 / 17:14:48 / Jan Travnicek <travnja3@fel.cvut.cz>"
-    "Modified: / 18-10-2011 / 16:57:38 / cg"
+    "Modified: / 07-02-2012 / 17:22:52 / cg"
 !
 
 parseVWTypeOrExternalFunctionDeclarationFrom:aStream definitionType:definitionType knownDefinitions:dictionaryOfTypesOrNil lineNr:lineNr
@@ -10636,11 +10651,11 @@
 !Parser class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libcomp/Parser.st,v 1.700 2012-01-19 10:05:01 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libcomp/Parser.st,v 1.701 2012-02-07 16:23:10 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libcomp/Parser.st,v 1.700 2012-01-19 10:05:01 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libcomp/Parser.st,v 1.701 2012-02-07 16:23:10 cg Exp $'
 !
 
 version_SVN