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
dev:scripting:start [2008/07/18 08:56]
stefanha
dev:scripting:start [2009/05/22 13:32] (current)
stefanha
Line 16: Line 16:
 </​code>​ </​code>​
  
-We need variable ​expansion:+Variable ​expansion ​is already available in mainline gPXE:
 <​code>​ <​code>​
 dhcp ${my_iface} dhcp ${my_iface}
Line 32: Line 32:
 Standard arithmetic operators should work for integral types: Standard arithmetic operators should work for integral types:
 <​code>​ <​code>​
-set i ${i + 1+set i ${(/ 2 + 12}
-# same for -, *, /+
 </​code>​ </​code>​
  
-Bitwise ​operators ''​|'',​ ''​&'',​ ''​^'',​ and ''​~'' ​may be needed? ​+The operators ​are: ''​+'',​ ''​-'',​ ''​*'',​ ''/'',​ ''​%'',​ ''​('',​ and ''​)''​.
  
 === String manipulation === === String manipulation ===
-TODO+The format string built-in function allows string concatentation and formatting:​ 
 +<​code>​ 
 +set net0/ip ${fmt("​%d.%d.%d.%d",​ 192, 168, 0, 10 + host_num)} 
 +</​code>​
  
 === Comparison and logic === === Comparison and logic ===
Line 45: Line 47:
 <​code>​ <​code>​
 == != < > <= >= == != < > <= >=
-<​code>​+</code>
  
 They should either evaluate to special boolean values "​true"/"​false",​ or we need to define truth rules for all types (e.g. integral types are true if not equal to zero). They should either evaluate to special boolean values "​true"/"​false",​ or we need to define truth rules for all types (e.g. integral types are true if not equal to zero).
Line 68: Line 70:
 === Needs discussion === === Needs discussion ===
   * We probably need an exit code built-in variable like ''​$?''​ in POSIX shell.   * We probably need an exit code built-in variable like ''​$?''​ in POSIX shell.
 +  * Bitwise operators ''​|'',​ ''&'',​ ''​^'',​ ''​~'',​ ''<<'',​ and ''>>''​ may be needed.
 +  * Focus needs to be on what we can leave out rather than what to add.
   * More use cases so we know what users need.   * More use cases so we know what users need.
  
 === Links === === Links ===
 +  * [[http://​bellard.org/​otcc/​|Obfuscated Tiny C Compiler]]
 +  * [[http://​www.nicholson.com/​rhn/​files/​dds_basic.c|TINY obfuscated C BASIC interpreter]]
 +  * [[http://​www.ittybittycomputers.com/​IttyBitty/​TinyBasic/​TinyBasic.c|TinyBasic]]
 +  * [[http://​www.personal.leeds.ac.uk/​~bgy1mm/​Minibasic/​basic.c|Mini BASIC]]

Navigation

* [[:start|Home]] * [[:about|About our Project]] * [[:download|Download]] * [[:screenshots|Screenshots]] * Documentation * [[:howtos|HowTo Guides]] * [[:appnotes|Application Notes]] * [[:faq:|FAQs]] * [[:doc|General Doc]] * [[:talks|Videos, Talks, and Papers]] * [[:hardwareissues|Hardware Issues]] * [[:mailinglists|Mailing lists]] * [[http://support.etherboot.org/|Bugtracker]] * [[:contributing|Contributing]] * [[:editing_permission|Wiki Edit Permission]] * [[:wiki:syntax|Wiki Syntax]] * [[:contact|Contact]] * [[:relatedlinks|Related Links]] * [[:commerciallinks|Commercial Links]] * [[:acknowledgements|Acknowledgements]] * [[:logos|Logo Art]]

QR Code
QR Code dev:scripting:start (generated for current page)