summaryrefslogtreecommitdiff
path: root/external/lasso-builtins-generator-9.lasso
diff options
context:
space:
mode:
Diffstat (limited to 'external/lasso-builtins-generator-9.lasso')
-rwxr-xr-xexternal/lasso-builtins-generator-9.lasso162
1 files changed, 0 insertions, 162 deletions
diff --git a/external/lasso-builtins-generator-9.lasso b/external/lasso-builtins-generator-9.lasso
deleted file mode 100755
index 01562995..00000000
--- a/external/lasso-builtins-generator-9.lasso
+++ /dev/null
@@ -1,162 +0,0 @@
-#!/usr/bin/lasso9
-
-/*
- Builtins Generator for Lasso 9
-
- This is the shell script that was used to extract Lasso 9's built-in keywords
- and generate most of the _lasso_builtins.py file. When run, it creates a file
- containing the types, traits, methods, and members of the currently-installed
- version of Lasso 9.
-
- A list of tags in Lasso 8 can be generated with this code:
-
- <?LassoScript
- local('l8tags' = list,
- 'l8libs' = array('Cache','ChartFX','Client','Database','File','HTTP',
- 'iCal','Lasso','Link','List','PDF','Response','Stock','String',
- 'Thread','Valid','WAP','XML'));
- iterate(#l8libs, local('library'));
- local('result' = namespace_load(#library));
- /iterate;
- iterate(tags_list, local('i'));
- #l8tags->insert(string_removeleading(#i, -pattern='_global_'));
- /iterate;
- #l8tags->sort;
- iterate(#l8tags, local('i'));
- string_lowercase(#i)+"<br>";
- /iterate;
-
-*/
-
-output("This output statement is required for a complete list of methods.")
-local(f) = file("_lasso_builtins-9.py")
-#f->doWithClose => {
-
-#f->openTruncate
-#f->writeString('# -*- coding: utf-8 -*-
-"""
- pygments.lexers._lasso_builtins
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
- Built-in Lasso types, traits, methods, and members.
-
- :copyright: Copyright 2006-'+date->year+' by the Pygments team, see AUTHORS.
- :license: BSD, see LICENSE for details.
-"""
-
-')
-
-// Load and register contents of $LASSO9_MASTER_HOME/LassoModules/
-database_initialize
-
-// Load all of the libraries from builtins and lassoserver
-// This forces all possible available types and methods to be registered
-local(srcs =
- (:
- dir(sys_masterHomePath + '/LassoLibraries/builtins/')->eachFilePath,
- dir(sys_masterHomePath + '/LassoLibraries/lassoserver/')->eachFilePath
- )
-)
-
-with topLevelDir in delve(#srcs)
-where not #topLevelDir->lastComponent->beginsWith('.')
-do protect => {
- handle_error => {
- stdoutnl('Unable to load: ' + #topLevelDir + ' ' + error_msg)
- }
- library_thread_loader->loadLibrary(#topLevelDir)
- stdoutnl('Loaded: ' + #topLevelDir)
-}
-
-email_initialize
-log_initialize
-session_initialize
-
-local(
- typesList = set(),
- traitsList = set(),
- unboundMethodsList = set(),
- memberMethodsList = set()
-)
-
-// types
-with type in sys_listTypes
-where not #type->asString->endsWith('$') // skip threads
-do {
- #typesList->insert(#type)
-}
-
-// traits
-with trait in sys_listTraits
-where not #trait->asString->beginsWith('$') // skip combined traits
-do {
- #traitsList->insert(#trait)
-}
-
-// member methods
-with type in #typesList
-do {
- with method in #type->getType->listMethods
- where #method->typeName == #type // skip inherited methods
- let name = #method->methodName
- where not #name->asString->endsWith('=') // skip setter methods
- where #name->asString->isAlpha(1) // skip unpublished methods
- do {
- #memberMethodsList->insert(#name)
- }
-}
-with trait in #traitsList
-do {
- with method in #trait->getType->provides
- where #method->typeName == #trait // skip inherited methods
- let name = #method->methodName
- where not #name->asString->endsWith('=') // skip setter methods
- where #name->asString->isAlpha(1) // skip unpublished methods
- do {
- #memberMethodsList->insert(#name)
- }
-}
-
-// unbound methods
-with method in sys_listUnboundMethods
-let name = #method->methodName
-where not #name->asString->endsWith('=') // skip setter methods
-where #name->asString->isAlpha(1) // skip unpublished methods
-where #typesList !>> #name
-where #traitsList !>> #name
-do {
- #unboundMethodsList->insert(#name)
-}
-
-// write to file
-with i in (:
- pair(#typesList, "BUILTINS = {
- 'Types': (
-"),
- pair(#traitsList, " ),
- 'Traits': (
-"),
- pair(#unboundMethodsList, " ),
- 'Unbound Methods': (
-"),
- pair(#memberMethodsList, " )
-}
-MEMBERS = {
- 'Member Methods': (
-")
-)
-do {
- #f->writeString(#i->second)
- with t in (#i->first)
- let ts = #t->asString
- order by #ts
- do {
- #f->writeString(" '"+#ts->lowercase&asString+"',\n")
- }
-}
-
-#f->writeString(" )
-}
-")
-
-}