eXept Software AG Logo

Smalltalk/X Webserver

Documentation of class 'STXJavaScriptLanguage':

Home

Documentation
www.exept.de
Everywhere
for:
[back]

Class: STXJavaScriptLanguage


Inheritance:

   Object
   |
   +--ProgrammingLanguage
      |
      +--STXJavaScriptLanguage

Package:
stx:libjavascript
Category:
Kernel-Languages
Version:
rev: 1.22 date: 2019/12/30 18:39:58
user: cg
file: STXJavaScriptLanguage.st directory: libjavascript
module: stx stc-classLibrary: libjavascript

Description:


provide info about which tools are to be used for the
embedded JavaScript-like language in Smalltalk (not a real JavaScript,
that's why it's called STXJavaScript)

copyright

COPYRIGHT (c) 2009 by eXept Software AG All Rights Reserved This software is furnished under a license and may be used only in accordance with the terms of that license and with the inclusion of the above copyright notice. This software may not be provided or otherwise made available to, or used by, any other person. No title to or ownership of the software is hereby transferred.

Instance protocol:

accessing
o  id
Return a unique integer id of this language.
For languages built into the VM, it must be < 32.
This id is used as index to various structures used by runtime
(bytecode set ?).
cg: this ought to be better documented - I have no idea, where it is used

o  name
Answers a human-readable name of myself:
'Smalltalk' for SmalltalkLanguage,
'Ruby' for RubyLanguage...

o  sourceFileSuffix
Answers a default suffix for source files, i.e.
'st' for Smalltalk, 'js' for JavaScript or 'rb' for Ruby', etc.

accessing-classes
o  codeGeneratorClass
Answers a class that can generate code

o  compilerClass
Answer a class suitable for compiling a source code in 'my' language

o  compilerWithBreakpointSupportClass
Answer a class suitable for compiling a source code with breakpoints
in 'my' language

o  evaluatorClass
Answer a class suitable for doit evaluation in 'my' language

o  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.

o  metaClass
will be used for new classes (in the class wizard)

o  parserClass
Answer a class suitable for parsing a source code in 'my' language

o  sourceFileReaderClass
Answers a class that can be used for
reading & compiling source files

o  sourceFileWriterClass
Answers a class is used for source file writing (i.e. file-out)

o  syntaxHighlighterClass
return the class to use for syntaxHighlighting (prettyPrinting) this class -
this can be redefined in special classes, to highlight classes with
Lisp, Prolog, ASN1, Basic :-) or whatever syntax.

queries
o  canBeCompiled
true if compilable in the browser

source queries
o  bracketStrings
used for autoindent

o  commentStrings
EOL comment

o  methodDefinitionTemplateForSelector: aSelector andArgumentNames: argNames
given a selector, return a prototype definition string

Usage example(s):

     STXJavaScriptLanguage instance 
        methodDefinitionTemplateForSelector:#foo andArgumentNames:#()

     STXJavaScriptLanguage instance
        methodDefinitionTemplateForSelector:#+ andArgumentNames:#('aNumber')

     STXJavaScriptLanguage instance
        methodDefinitionTemplateForSelector:#foo:bar:baz: andArgumentNames:#('fooArg' 'barArg' 'bazArg')

testing
o  isSTXJavaScript
true iff this is the ST/X-javascript language



ST/X 7.7.0.0; WebServer 1.702 at 20f6060372b9.unknown:8081; Sat, 27 Jul 2024 08:52:22 GMT