Some more work on source partitioner.
--- a/tools/JavaParserI.st Fri Jan 11 11:57:30 2013 +0000
+++ b/tools/JavaParserI.st Fri Jan 11 12:37:38 2013 +0000
@@ -75,7 +75,9 @@
new
"return an initialized instance"
- ^ self basicNew initialize.
+ ^ self basicNew initializeStartingAt: #start.
+
+ "Modified: / 11-01-2013 / 12:29:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!JavaParserI class methodsFor:'accessing'!
--- a/tools/JavaScanner.st Fri Jan 11 11:57:30 2013 +0000
+++ b/tools/JavaScanner.st Fri Jan 11 12:37:38 2013 +0000
@@ -1082,15 +1082,17 @@
printOn:aStream
"append a printed representation if the receiver to the argument, aStream"
- super printOn:aStream.
- aStream nextPutAll:'type: '.
+ aStream nextPut: ${.
type printOn:aStream.
- aStream nextPutAll:'value: '.
+ aStream nextPutAll:' - '.
value printOn:aStream.
- aStream nextPutAll:'startPosition: '.
+ aStream nextPutAll:' <'.
startPosition printOn:aStream.
- aStream nextPutAll:'endPosition: '.
+ aStream nextPutAll:'-'.
endPosition printOn:aStream.
+ aStream nextPutAll:' >}'.
+
+ "Modified: / 11-01-2013 / 12:32:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!JavaScanner class methodsFor:'documentation'!
--- a/tools/JavaSourcePartitioner.st Fri Jan 11 11:57:30 2013 +0000
+++ b/tools/JavaSourcePartitioner.st Fri Jan 11 12:37:38 2013 +0000
@@ -4,7 +4,7 @@
instanceVariableNames:''
classVariableNames:''
poolDictionaries:''
- category:'Languages-Java-Tools'
+ category:'Languages-Java-Parser-Utils'
!
!JavaSourcePartitioner class methodsFor:'documentation'!
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/JavaSourcePartitionerTests.st Fri Jan 11 12:37:38 2013 +0000
@@ -0,0 +1,56 @@
+"{ Package: 'stx:libjava/tools' }"
+
+PPCompositeParserTest subclass:#JavaSourcePartitionerTests
+ instanceVariableNames:'partitioner'
+ classVariableNames:''
+ poolDictionaries:''
+ category:'Languages-Java-Tests-Parser'
+!
+
+
+!JavaSourcePartitionerTests methodsFor:'accessing'!
+
+parserClass
+ ^ JavaSourcePartitioner
+
+ "Modified: / 11-01-2013 / 12:18:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!JavaSourcePartitionerTests methodsFor:'parsing'!
+
+parse: aString rule: aSymbol
+ | production |
+
+ partitioner := production := self parserInstance.
+ aSymbol = #start
+ ifFalse: [ production := production productionAt: aSymbol ].
+ result :=production parse: (JavaScanner for: aString).
+ self
+ deny: result isPetitFailure
+ description: 'Unable to parse ' , aString printString
+ resumable: true.
+ ^ result
+
+ "Created: / 11-01-2013 / 12:21:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!JavaSourcePartitionerTests methodsFor:'tests'!
+
+test_01
+ self parse: '
+class X {
+ public int foo() {
+ return 10;
+ }
+}
+ '
+
+ "Created: / 11-01-2013 / 12:16:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!JavaSourcePartitionerTests class methodsFor:'documentation'!
+
+version_HG
+
+ ^ '$Changeset: <not expanded> $'
+! !
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/JavaSourceReference.st Fri Jan 11 12:37:38 2013 +0000
@@ -0,0 +1,42 @@
+"{ Package: 'stx:libjava/tools' }"
+
+Object subclass:#JavaSourceReference
+ instanceVariableNames:'source offset length'
+ classVariableNames:''
+ poolDictionaries:''
+ category:'Languages-Java-Parser-Utils'
+!
+
+
+!JavaSourceReference methodsFor:'accessing'!
+
+length
+ ^ length
+!
+
+length:something
+ length := something.
+!
+
+offset
+ ^ offset
+!
+
+offset:something
+ offset := something.
+!
+
+source
+ ^ source
+!
+
+source:something
+ source := something.
+! !
+
+!JavaSourceReference class methodsFor:'documentation'!
+
+version_HG
+
+ ^ '$Changeset: <not expanded> $'
+! !
--- a/tools/Make.proto Fri Jan 11 11:57:30 2013 +0000
+++ b/tools/Make.proto Fri Jan 11 12:37:38 2013 +0000
@@ -165,6 +165,8 @@
$(OUTDIR)JavaScannerBase.$(O) JavaScannerBase.$(H): JavaScannerBase.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)JavaSetInspectorView.$(O) JavaSetInspectorView.$(H): JavaSetInspectorView.st $(INCLUDE_TOP)/stx/libtool/SetInspectorView.$(H) $(INCLUDE_TOP)/stx/libtool/InspectorView.$(H) $(INCLUDE_TOP)/stx/libview/SimpleView.$(H) $(INCLUDE_TOP)/stx/libview/DisplaySurface.$(H) $(INCLUDE_TOP)/stx/libview/GraphicsMedium.$(H) $(INCLUDE_TOP)/stx/libview/DeviceGraphicsContext.$(H) $(INCLUDE_TOP)/stx/libview/GraphicsContext.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)JavaSettingsApplication.$(O) JavaSettingsApplication.$(H): JavaSettingsApplication.st $(INCLUDE_TOP)/stx/libtool/AbstractSettingsApplication.$(H) $(INCLUDE_TOP)/stx/libview2/ApplicationModel.$(H) $(INCLUDE_TOP)/stx/libview2/Model.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libwidg2/HierarchicalItem.$(H) $(INCLUDE_TOP)/stx/libview2/SimpleDialog.$(H) $(INCLUDE_TOP)/stx/libwidg2/HierarchicalList.$(H) $(INCLUDE_TOP)/stx/libbasic2/List.$(H) $(INCLUDE_TOP)/stx/libbasic/OrderedCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/SequenceableCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/Collection.$(H) $(STCHDR)
+$(OUTDIR)JavaSourcePartitionerTests.$(O) JavaSourcePartitionerTests.$(H): JavaSourcePartitionerTests.st $(INCLUDE_TOP)/stx/goodies/petitparser/PPCompositeParserTest.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/PPAbstractParseTest.$(H) $(INCLUDE_TOP)/stx/goodies/sunit/TestCase.$(H) $(INCLUDE_TOP)/stx/goodies/sunit/TestAsserter.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)JavaSourceReference.$(O) JavaSourceReference.$(H): JavaSourceReference.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)stx_libjava_tools.$(O) stx_libjava_tools.$(H): stx_libjava_tools.st $(INCLUDE_TOP)/stx/libbasic/LibraryDefinition.$(H) $(INCLUDE_TOP)/stx/libbasic/ProjectDefinition.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)JavaCommentNode.$(O) JavaCommentNode.$(H): JavaCommentNode.st $(INCLUDE_TOP)/stx/libjava/tools/JavaParseNode.$(H) $(INCLUDE_TOP)/stx/libcomp/ParseNode.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)JavaFormalParameterNode.$(O) JavaFormalParameterNode.$(H): JavaFormalParameterNode.st $(INCLUDE_TOP)/stx/libjava/tools/JavaParseNode.$(H) $(INCLUDE_TOP)/stx/libcomp/ParseNode.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
--- a/tools/Make.spec Fri Jan 11 11:57:30 2013 +0000
+++ b/tools/Make.spec Fri Jan 11 12:37:38 2013 +0000
@@ -80,6 +80,8 @@
JavaSyntaxHighlighter \
JavaSourcePartitioner \
JavaSettingsApplication \
+ JavaSourceReference \
+ JavaSourcePartitionerTests \
@@ -115,6 +117,8 @@
$(OUTDIR)JavaSyntaxHighlighter.$(O) \
$(OUTDIR)JavaSourcePartitioner.$(O) \
$(OUTDIR)JavaSettingsApplication.$(O) \
+ $(OUTDIR)JavaSourceReference.$(O) \
+ $(OUTDIR)JavaSourcePartitionerTests.$(O) \
$(OUTDIR)extensions.$(O) \
--- a/tools/abbrev.stc Fri Jan 11 11:57:30 2013 +0000
+++ b/tools/abbrev.stc Fri Jan 11 12:37:38 2013 +0000
@@ -33,5 +33,7 @@
JavaScannerBase JavaScannerBase stx:libjava/tools 'Languages-Java-Parser' 3
JavaScanner JavaScanner stx:libjava/tools 'Languages-Java-Parser' 3
JavaSyntaxHighlighter JavaSyntaxHighlighter stx:libjava/tools 'Languages-Java-Tools' 0
-JavaSourcePartitioner JavaSourcePartitioner stx:libjava/tools 'Languages-Java-Tools' 0
+JavaSourcePartitioner JavaSourcePartitioner stx:libjava/tools 'Languages-Java-Parser-Utils' 0
JavaSettingsApplication JavaSettingsApplication stx:libjava/tools 'Languages-Java-Tools' 1
+JavaSourceReference JavaSourceReference stx:libjava/tools 'Languages-Java-Parser-Utils' 0
+JavaSourcePartitionerTests JavaSourcePartitionerTests stx:libjava/tools 'Languages-Java-Tests-Parser' 1
--- a/tools/bc.mak Fri Jan 11 11:57:30 2013 +0000
+++ b/tools/bc.mak Fri Jan 11 12:37:38 2013 +0000
@@ -90,6 +90,8 @@
$(OUTDIR)JavaScannerBase.$(O) JavaScannerBase.$(H): JavaScannerBase.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)JavaSetInspectorView.$(O) JavaSetInspectorView.$(H): JavaSetInspectorView.st $(INCLUDE_TOP)\stx\libtool\SetInspectorView.$(H) $(INCLUDE_TOP)\stx\libtool\InspectorView.$(H) $(INCLUDE_TOP)\stx\libview\SimpleView.$(H) $(INCLUDE_TOP)\stx\libview\DisplaySurface.$(H) $(INCLUDE_TOP)\stx\libview\GraphicsMedium.$(H) $(INCLUDE_TOP)\stx\libview\DeviceGraphicsContext.$(H) $(INCLUDE_TOP)\stx\libview\GraphicsContext.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)JavaSettingsApplication.$(O) JavaSettingsApplication.$(H): JavaSettingsApplication.st $(INCLUDE_TOP)\stx\libtool\AbstractSettingsApplication.$(H) $(INCLUDE_TOP)\stx\libview2\ApplicationModel.$(H) $(INCLUDE_TOP)\stx\libview2\Model.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libwidg2\HierarchicalItem.$(H) $(INCLUDE_TOP)\stx\libview2\SimpleDialog.$(H) $(INCLUDE_TOP)\stx\libwidg2\HierarchicalList.$(H) $(INCLUDE_TOP)\stx\libbasic2\List.$(H) $(INCLUDE_TOP)\stx\libbasic\OrderedCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\SequenceableCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(STCHDR)
+$(OUTDIR)JavaSourcePartitionerTests.$(O) JavaSourcePartitionerTests.$(H): JavaSourcePartitionerTests.st $(INCLUDE_TOP)\stx\goodies\petitparser\PPCompositeParserTest.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\PPAbstractParseTest.$(H) $(INCLUDE_TOP)\stx\goodies\sunit\TestCase.$(H) $(INCLUDE_TOP)\stx\goodies\sunit\TestAsserter.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)JavaSourceReference.$(O) JavaSourceReference.$(H): JavaSourceReference.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)stx_libjava_tools.$(O) stx_libjava_tools.$(H): stx_libjava_tools.st $(INCLUDE_TOP)\stx\libbasic\LibraryDefinition.$(H) $(INCLUDE_TOP)\stx\libbasic\ProjectDefinition.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)JavaCommentNode.$(O) JavaCommentNode.$(H): JavaCommentNode.st $(INCLUDE_TOP)\stx\libjava\tools\JavaParseNode.$(H) $(INCLUDE_TOP)\stx\libcomp\ParseNode.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)JavaFormalParameterNode.$(O) JavaFormalParameterNode.$(H): JavaFormalParameterNode.st $(INCLUDE_TOP)\stx\libjava\tools\JavaParseNode.$(H) $(INCLUDE_TOP)\stx\libcomp\ParseNode.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
--- a/tools/libInit.cc Fri Jan 11 11:57:30 2013 +0000
+++ b/tools/libInit.cc Fri Jan 11 12:37:38 2013 +0000
@@ -36,6 +36,8 @@
_JavaScannerBase_Init(pass,__pRT__,snd);
_JavaSetInspectorView_Init(pass,__pRT__,snd);
_JavaSettingsApplication_Init(pass,__pRT__,snd);
+_JavaSourcePartitionerTests_Init(pass,__pRT__,snd);
+_JavaSourceReference_Init(pass,__pRT__,snd);
_stx_137libjava_137tools_Init(pass,__pRT__,snd);
_JavaCommentNode_Init(pass,__pRT__,snd);
_JavaFormalParameterNode_Init(pass,__pRT__,snd);
--- a/tools/stx_libjava_tools.st Fri Jan 11 11:57:30 2013 +0000
+++ b/tools/stx_libjava_tools.st Fri Jan 11 12:37:38 2013 +0000
@@ -90,6 +90,8 @@
JavaSyntaxHighlighter
JavaSourcePartitioner
JavaSettingsApplication
+ JavaSourceReference
+ JavaSourcePartitionerTests
)
!
--- a/tools/tools.rc Fri Jan 11 11:57:30 2013 +0000
+++ b/tools/tools.rc Fri Jan 11 12:37:38 2013 +0000
@@ -25,7 +25,7 @@
VALUE "LegalCopyright", "Copyright Claus Gittinger 1988-2011\nCopyright eXept Software AG 1998-2011\0"
VALUE "ProductName", "Smalltalk/X\0"
VALUE "ProductVersion", "6.2.3.0\0"
- VALUE "ProductDate", "Fri, 11 Jan 2013 11:56:59 GMT\0"
+ VALUE "ProductDate", "Fri, 11 Jan 2013 12:37:05 GMT\0"
END
END