Jane Language Levels


There are four levels of language that is understood by the Jane compiler.   The compile understands all four levels. All of which can be implemented simultaneously.  Jane will also accept many current scripting languages (FORTRAN, C#, Python, PHP, JavaScript, Java,...)

 

Level 1: Natural Language, used to speak to Jane use the words and terms that are familiar to humans

	Jane Create compiler ClifCode. Include the C++ declaration statements.

Level 2: Common Ground 2000 Language that is familiar to humans and to Jane. This language is to define all the qualifiers actually required to accomplish the task from Level 1. This is to convey and retain details on the process for the human.

*cg2, compiler name = clifcode;
*define:compiler,		Name, case sensitive:bool, LR1 Statements:contains(LR1 Statements),
				Syntax Statements:contains(Syntax Statements);

*define:LR1 Statements,		statements(*):Parser=LR1 Parser.script;
*define:Syntax Statements,	statements(*):Parser=Syntax Parser.script;
*define:LR1 Parser,		script;
*define:Syntax Parser,		script;

compiler,			clifcode,false;
LR1 Statements,			(clifcode[*], C++[declarations statements]);
Syntax Statements,		(clifcode.[*]);

Function,			build/$compiler_pieces/001_global.js;
Function,			build/$compiler_pieces/002_compiler_engine.js;
Function,			build/$compiler_pieces/003_jane_search.js;
Function,			build/$compiler_pieces/004_program_output.js;
Function,			build/$compiler_pieces/005_units.js;
Function,			build/$compiler_pieces/006_world.js;
Function,			build/$compiler_pieces/007_internal.js;
Function,			build/$compiler_pieces/008_qvalue.js;
Function,			build/$compiler_pieces/009_textvalue.js;
Function,			build/$compiler_pieces/010_cg2Load_class.js;
Function,			build/$compiler_pieces/011_cg2.js;

 

Level 3:  Logic Scripting Language.  This language is the generated code by Jane to perform the request, given the Level 2 language. The Level 3 language is created by the Jane directly by the compiler. Jane's compiler ClifCode creates the application dynamically. It takes all the requirements supplied from the Language 1 language and created the Level 2 language in which to build the Level 3 application.

 

	function Clifcode()
	{
		this.search = clifcode$search;
	}
	function clifcode$search()
	{
		---- name resolution for clifcode logic ---
	}

 

Level 4: Hardware Specific Language.  Not really a separate language, however it is treated uniquely to ensure hardware independence for all applications.

	hardware function mouse()
	{
		...
	}