"{ Package: 'stx:libbasic' }"
ProgrammingLanguage subclass:#SmalltalkLanguage
instanceVariableNames:''
classVariableNames:''
poolDictionaries:''
category:'Kernel-Languages'
!
!SmalltalkLanguage class methodsFor:'documentation'!
version_SVN
^'$Id: SmalltalkLanguage.st,v 1.2 2009-09-23 12:23:48 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.2 2009-09-23 12:23:48 fm Exp $'
! !