Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
util:baja [2018/03/01 12:11] – Links to util:binkit changed to module:binkit digital manutil:baja [2018/06/29 21:41] (current) – Details about the include path env var/option and deprecation of Baja digital man
Line 3: Line 3:
 Baja is a Synchronet module compiler and BASIC-like language for creating programmable command shells and modules for Synchronet versions 2 and 3.  Baja is a Synchronet module compiler and BASIC-like language for creating programmable command shells and modules for Synchronet versions 2 and 3. 
  
-Most Synchronet command shells are currently written in Baja.+Most Synchronet [[custom:command shell]]s are currently written in Baja
 + 
 +**Note**:\\ 
 +The //Programmable Command and Menu Structure// implementation (basically, the compiled ''.bin'' file interpreter) in the Synchronet [[server:Terminal]] Server is unlikely to be enhanced in the future. Synchronet's programability and extensibility is primarily through [[custom:JavaScript]] modules and services and future script development should be focused there.
  
 ===== Source ===== ===== Source =====
-Baja source files are plain ASCII text files (IBM CP437 characters may also be used). The Baja language is documented [[http://synchro.net/docs/baja.html|here]].+Baja source files (''*.src'', ''*.inc''are plain ASCII text files (IBM CP437 characters may also be used). The Baja language is documented [[http://synchro.net/docs/baja.html|here]]
 + 
 +Baja source files are normally stored in the Synchronet ''[[dir:exec]]'' directory. 
 + 
 +==== Includes ==== 
 + 
 +Baja source files may include other source files (usually named ''*.inc'') using the Baja ''!include'' directive. Included files are normally stored in the same directory as the ''*.src'' files but you can direct the Baja compiler to look in a different directory for included files by either defining the ''BAJAINCLUDE'' [[config:env|environment variable]] or by using the '-i' command-line option. 
 + 
 +By forcing the Baja compiler to look in a different directory (e.g. ''sbbs/[[dir:exec]]'') for ''!include''d files, you could, for example, compile ''.src'' files in your ''[[dir:mods]]'' directory which still ''!include'' files from the ''[[dir:exec]]'' directory.
  
 ===== Compiling ===== ===== Compiling =====
Line 12: Line 23:
 Synchronet modules written "in baja", rely on the ''baja'' utility to compile their "source" into an "executable" (interpretted) binary format (''.bin'' file). Synchronet modules written "in baja", rely on the ''baja'' utility to compile their "source" into an "executable" (interpretted) binary format (''.bin'' file).
  
-Note: There is a corresponding [[module:binkit]] utility, created by [[person:Deuce]], for decompiling Baja ''.bin'' files into somewhat readable (and modifiable) Baja source (''.src'') files.+Note: There is a corresponding [[util:unbaja]] utility, created by [[person:Deuce]], for decompiling Baja ''.bin'' files into somewhat readable (and modifiable) Baja source (''.src'') files.
  
 ===== Usage ===== ===== Usage =====
util/baja.txt · Last modified: 2018/06/29 21:41 by digital man
Back to top
CC Attribution 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0