That sounds like a fun project.  I hacked the lexer to add a code-
friendly string syntax for my university project (about 15 lines of
code, to embed C++ code), and it would be nice if more compilers/
scripters were more front-end friendly (gcc, I'm looking at you).  In
your opinion, how was your experience?  Did you find V8's source easy
to step into or hard?

On Mar 24, 2:01 pm, [email protected] wrote:
> Announcement:
>
> Hi,  I have coded a user-friendly
> pseudocode-ish syntax which targets the V8 ecmascript AST:
> 'zedscript'
> aka 'zed is ecmascript for dummies'.
> The code can be found at:http://code.google.com/p/zedscript/
>
> Zedscript runs _in_ the V8 ecmascript engine. That is, there is no
> parsing zedscript source -> javascript source phase. It targets the
> AST directly.
>
> The V8 scanning/parsing source code has been altered to allow the V8
> engine to compile and run both ecmascript and zedscript. It reuses the
> V8
> tokens/scanning/parsing/runtime/errorhandling machinery. This reduces
> abstraction leakages and aids debugging. zedscript can call ecmascript
> and vice-versa. (Calling jsfunction.toString() can be surprising
> however!).
> NB: this is a proof of concept hack :) and a work in progress. See
> the
> Futures page for ideas on the syntatic sugar that could be developed.
>
> A zedscript script can be run via the V8 shell:
> ./shell <zedscriptfile>
>
> So, zedscript provides a thin layer of syntax sugar over the core
> ecmascript semantics which will (hopefully):
>
>     * show the emerging rich 3.1 and 4(Harmony) semantics in the best
>       possible best light.
>     * minimizes quirks and gotachas.
>     * emphasize simplify, security, safety and speed. For instance
>       ecmascript 3.1 'strict mode' could be enabled by default.
>     * is not a port of existing languages e.g python, ruby. (Imho
>       emcascript does not need 1001IronXXX ports.
>       It needs one good alternate syntax - which can take inspiration
>       from the sugar/syntax of other pragmatic languages - but can be
>       considered a dialect of the core ecmascript semantics rather
> than
>       a new language or port).
>     * hits the sweet spot between succinctness and pseudocode
> readability.
>
> The goal is to track ecmascript 3.1 and 4/Harmony and deliver
> zedscript 3.1 and 4 on the V8 engine. I feel that some
> users - especially those without a comp. sci background - will never
> get on
> with the curlies syntax. An alternate syntax in addition to the
> javascript syntax
> - especially for esHarmony - could really help promote ecmascript as a
> general purpose scripting language. Ideally in the browser, but if not
> then for server and desktop development.
>
> Here's an example 'ztest/sample.js'. Note how the script begins with
> //zed to signal to V8 it's a zedscript file.
> (This is a temporary solution).
>
> //zed
> // - currently has a dylan/moo -ish syntax
> // - the parens around the expression could change to
> //   a more ruby/lua -ish syntax, with optional do/then.
>
> print("*** start\n")
>
> var x = 10
> var y = 20
>
> // if has elif clauses
> // and/or are aliases for &&/||
> if (x == -99)
>     print("FAIL")
> elif (x == 10 and y > 15)
>     print("OK")
> elif (x == -99 or y > -99)
>     print("FAIL")
> else
>     print("FAIL")
> end
>
> // not as alias for !
> var b = false;
> print(!b)
> print(not b)
>
> // fn as alias for function
> fn times2(i)
>     return i * 2
> end
>
> var z = 1
> while (z <= 5)
>     print(z + " : " + times2(z++))
> end
>
> print("\n*** end ");
>
> ----------------------
--~--~---------~--~----~------------~-------~--~----~
v8-users mailing list
[email protected]
http://groups.google.com/group/v8-users
-~----------~----~----~----~------~----~------~--~---

Reply via email to