Results 1 to 3 of 3

Thread: Javascript Compiler

  1. #1
    Join Date
    May 2009

    Javascript Compiler

    Since Google released their closure tool yesterday (as I'm sure most of you are aware). I thought I may as well release my tool which does the same thing, though on a smaller scale.

    Basically this was written last year to address the same issues as Google's tool, namely the lack of good optimising minifiers - all the existing ones just stripped white space very carefully, leaving space in when in doubt. Obviously this is by far the easiest way without full syntax parsing, but I didn't think it was good enough. Anyway, for my third yeah university project I wrote a tool called "yavascript", which did syntax tree based minification and optimisation, in the same way as Google's tools.

    The code was MOSTLY finished for the project hand-in, there are still many bugs and not many actual optimisations are implemented yet. I was planning to continue it and announce it when it was closer to being stable (or at least more bug free), but as Google have released their far superior product, I'm just saying that this exists because I want to (I don't expect anyone to use it).

    I did take a completely different approach to Google, introducing custom syntax based around the C pre-processor, so there was no way that you could use code meant for this without it, however like Google I wrote it so that you didn't need to compile before every test, you could run straight in the browser.

    Anyway, this was technically released months ago, but only on my personal site that not many people read, I'm just putting it out here now as a sort of swan song. The website contains more information, including the full write up from my project report.



    Comments would be appreciated, though as I said I'm just posting this for myself so I at least told people about the work I spent months on.

  2. #2
    Join Date
    Jul 2008
    urbana, il
    looks cool.
    the one question i had: why isn't it written in javascript?

    i think it would be a lot cooler if i could run this by visiting a page instead of running a download...
    Create, Share, and Debug HTML pages and snippets with a cool new web app I helped create: pagedemos.com

  3. #3
    Join Date
    May 2009
    I debated that at the time, I maybe should have written it in javascript but I wanted the speed, though I'm not even sure how much faster it really is. The core logic is actually based on JSLint so had a gone the JS route it would have probably taken me vastly less time to write.

    TBH I think the honest answer is I like C/C++ for applications and JS for websites, no real justifications involved.


    I should also mention this post I made: http://y-less.com/wordpress/?p=82

    It's a description of what the "Debug" functions found in the main compiler are for if you ever look in the code, again it's an incomplete feature but the idea is that it can produce code with massive amounts of debug information for you to work with.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
HTML5 Development Center



X vBulletin 4.2.2 Debug Information

  • Page Generation 0.09097 seconds
  • Memory Usage 2,852KB
  • Queries Executed 15 (?)
More Information
Template Usage (32):
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_global_above_footer
  • (1)ad_global_below_navbar
  • (1)ad_global_header1
  • (1)ad_global_header2
  • (1)ad_navbar_below
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (1)ad_thread_first_post_content
  • (1)ad_thread_last_post_content
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)headinclude_bottom
  • (3)memberaction_dropdown
  • (1)navbar
  • (4)navbar_link
  • (1)navbar_moderation
  • (1)navbar_noticebit
  • (1)navbar_tabs
  • (2)option
  • (3)postbit
  • (3)postbit_onlinestatus
  • (3)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available (6):
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files (26):
  • ./showthread.php
  • ./global.php
  • ./includes/class_bootstrap.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/functions_navigation.php
  • ./includes/class_friendly_url.php
  • ./includes/class_hook.php
  • ./includes/class_bootstrap_framework.php
  • ./vb/vb.php
  • ./vb/phrase.php
  • ./includes/functions_facebook.php
  • ./includes/functions_calendar.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_notice.php
  • ./packages/vbattach/attach.php
  • ./vb/types.php
  • ./vb/cache.php
  • ./vb/cache/db.php
  • ./vb/cache/observer/db.php
  • ./vb/cache/observer.php 

Hooks Called (73):
  • init_startup
  • friendlyurl_resolve_class
  • init_startup_session_setup_start
  • database_pre_fetch_array
  • database_post_fetch_array
  • init_startup_session_setup_complete
  • global_bootstrap_init_start
  • global_bootstrap_init_complete
  • cache_permissions
  • fetch_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • load_show_variables
  • load_forum_show_variables
  • global_state_check
  • global_bootstrap_complete
  • global_start
  • style_fetch
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • strip_bbcode
  • friendlyurl_clean_fragment
  • friendlyurl_geturl
  • forumjump
  • cache_templates
  • cache_templates_process
  • template_register_var
  • template_render_output
  • fetch_template_start
  • fetch_template_complete
  • parse_templates
  • fetch_musername
  • notices_check_start
  • notices_noticebit
  • process_templates_complete
  • friendlyurl_redirect_canonical
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • memberaction_dropdown
  • tag_fetchbit
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • build_navigation_data
  • build_navigation_array
  • check_navigation_permission
  • process_navigation_links_start
  • process_navigation_links_complete
  • set_navigation_menu_element
  • build_navigation_menudata
  • build_navigation_listdata
  • build_navigation_list
  • set_navigation_tab_main
  • set_navigation_tab_fallback
  • navigation_tab_complete
  • fb_like_button
  • showthread_complete
  • page_templates