--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/SmalltalkLanguage.st Thu Sep 17 16:16:46 2009 +0200
@@ -0,0 +1,143 @@
+"{ Package: 'stx:libbasic' }"
+
+ProgrammingLanguage subclass:#SmalltalkLanguage
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ category:'Kernel-Languages'
+!
+
+!SmalltalkLanguage class methodsFor:'documentation'!
+
+versionSVN
+ ^'$Id: SmalltalkLanguage.st,v 1.1 2009-09-17 14:16:46 fm Exp $'
+! !
+
+!SmalltalkLanguage methodsFor:'accessing'!
+
+name
+ "
+ Answers a human-readable name of myself:
+ 'Smalltalk' for SmalltalkLanguage,
+ 'Ruby' for RubyLanguage...
+ "
+
+ ^'Smalltalk'
+
+ "Modified: / 16-08-2009 / 10:53:35 / Jan Vrany <vranyj1@fel.cvut.cz>"
+!
+
+sourceFileSuffix
+ "
+ Answers a default suffix for source files, i.e.
+ 'st' for Smalltalk, 'js' for JavaScript or 'rb' for Ruby'
+ "
+
+ ^'st'
+
+ "Modified: / 16-08-2009 / 10:53:52 / Jan Vrany <vranyj1@fel.cvut.cz>"
+! !
+
+!SmalltalkLanguage methodsFor:'accessing - classes'!
+
+compilerClass
+ "
+ Answer a class suitable for compiling a source code
+ in 'my' language
+ "
+
+ ^Smalltalk::Compiler
+
+ "Modified: / 21-08-2009 / 13:02:27 / Jan Vrany <vranyj1@fel.cvut.cz>"
+!
+
+explainerClass
+
+ "
+ Answers a class used by browser and debugger to
+ show some hints about the code. It is OK to return
+ nil, which means that there is no explainer for given
+ language.
+ "
+
+ "return nil by default"
+ ^Explainer
+
+ "Created: / 21-08-2009 / 08:49:29 / Jan Vrany <vranyj1@fel.cvut.cz>"
+!
+
+parserClass
+ "
+ Answer a class suitable for parsing a source code
+ in 'my' language
+ "
+
+ ^Smalltalk::Parser
+
+ "Modified: / 21-08-2009 / 13:02:21 / Jan Vrany <vranyj1@fel.cvut.cz>"
+!
+
+sourceFileReaderClass
+ "
+ Answers a class that can be used for
+ reading & compiling source files
+ "
+
+ ^SmalltalkChunkFileSourceReader
+
+ "Modified: / 16-08-2009 / 12:29:39 / Jan Vrany <vranyj1@fel.cvut.cz>"
+!
+
+sourceFileWriterClass
+ "
+ Answers a class is used for source file
+ writing (i.e. file-out)
+ "
+
+ ^SmalltalkChunkFileSourceWriter
+
+ "Modified: / 16-08-2009 / 09:51:41 / Jan Vrany <vranyj1@fel.cvut.cz>"
+! !
+
+!SmalltalkLanguage methodsFor:'mimicry'!
+
+, anObject
+ "
+ Emulates symbol behavior. This is sometimes required
+ as Smalltalk language is used by legacy code to access
+ current language. Future versions should contain class
+ Locale.
+ "
+
+ ^Language , anObject
+
+ "Created: / 22-08-2009 / 09:33:44 / Jan Vrany <vranyj1@fel.cvut.cz>"
+!
+
+asSymbol
+ "
+ Returns a language symbol. This is sometimes required
+ as Smalltalk language is used by legacy code to access
+ current language. Future versions should contain class
+ Locale.
+ "
+
+ ^Language
+
+ "Created: / 22-08-2009 / 09:33:16 / Jan Vrany <vranyj1@fel.cvut.cz>"
+! !
+
+!SmalltalkLanguage methodsFor:'testing'!
+
+isSmalltalk
+
+ ^true
+
+ "Created: / 16-08-2009 / 09:01:38 / Jan Vrany <vranyj1@fel.cvut.cz>"
+! !
+
+!SmalltalkLanguage class methodsFor:'documentation'!
+
+version
+ ^ '$Header: /cvs/stx/stx/libbasic/SmalltalkLanguage.st,v 1.1 2009-09-17 14:16:46 fm Exp $'
+! !