Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
soc:2009:lynusvaz:project_plan:start [2009/06/01 09:09]
lynusvaz First attempt
soc:2009:lynusvaz:project_plan:start [2009/08/15 08:59] (current)
lynusvaz
Line 2: Line 2:
  
 ===== Project Plan ===== ===== Project Plan =====
-Improving the scripting language ​for gPXE.+ 
 +==== Summary ==== 
 +gPXE currently features a limited capability command language. A more powerful ​scripting language ​would be useful to users: they can specify boot policies or other customizations as a script, without having to understand ​gPXE completely, or having to edit the code.
  
 Features: Features:
Line 10: Line 12:
 If-then-else branches If-then-else branches
  
-==== Summary ====+Quoting
  
 ==== Outline ==== ==== Outline ====
 +  * These changes need an arithmetic evaluator, to accept expressions.
 +  * Define if, then, else commands. I am thinking of something like:
 +
 +if [ expr ]
 +
 +statements
 +
 +else
 +
 +statements
 +
 +fi
 +
 +I think this would be the simplest to deal with.
 +  * Define a goto command, or alternatively for, and while commands
 +  * A simple syntax to handle expression expansion: something like the current ${} for variables.
 +  * Also, handling variables in these expressions,​ especially string variables
 +  * I also think we need to have some operators like: check if interface exists (maybe (--i net1)?)
 +  * Quoting
 +  * Command exit code
 +  * Documentation
 +  * Testing
 +
 +
 +
  
 ==== Milestones and Timeline ==== ==== Milestones and Timeline ====
 +Current work: I currently have code to evaluate arithmetic expressions,​ involving integers only (variable substitution is done before it is called). The usual C operators are supported (no variables, so no assignment),​ with their usual precedence and associativity.
 +
 +June 8: Finalize syntax issues: dealing with string variables, use ${} for arithmetic expressions as well or define another delimiter, syntax for if, and loops.
 +
 +June 14: Implementation of arithmetic parser as decided.
 +
 +June 21: Dealing with quoting
 +
 +June 28: Conditional branches
 +
 +July 12: Loops and goto
 +
 +July 23: Return code
 +
 +July 26: [[..:​notes:​scripting_doc:​Features added|Documentation]]
 +
 +Aug 2: Autoboot script and other testing
  
 +Aug 10: Leeway

QR Code
QR Code soc:2009:lynusvaz:project_plan:start (generated for current page)