Title: MASC
1MASC
- A browser manipulation language by Michael
Masullo, Christos Angelopoulos, Vaibhav Saharan,
and Kristina Chodorow
2Outline
- MASC overview and goals
- Tutorial
- Implementing MASC
- Lessons Learned
3MASC Overview and goals
- What is MASC and Why make it
4What is MASC?
- Browser-based webpage manipulation
- Uses the MASC Browser, a fully functional
graphical web browser - Contains the MASC Shell, where commands are given
and results displayed
5Why make MASC?
- Great for organizing information
- Simple, clean web browser
- Easy access to shell
6Tutorial
7Example 1 Bookmark file
( display user's bookmarks add the current
page as a bookmark redisplay list
) bkmrks_file "/home/"USER"/.bookmarks" she
ll(echo "Old bookmark list") ( create bookmarks
file if it doesn't exist ) touch
bkmrks_file shell(cat bkmrks_file
sort) shell(echo "------------") echo -n
"Current page " / ( append current page's
address to the list ) echo / gtgt bkmrks_file (
redisplay ) echo "New bookmark list" cat
bkmrks_file sort echo "------------"
8Example 2 Bookmark Array
array goodLinks5 j0 while (jlt5) goodLinksj"
" jj1 j0 newSite"www.televisionwithoutpity.c
om" while(jlt5) if(goodLinksj) goodLinksj
newSite j0 break else if(goodLinksjnewSi
te) echo "Already Entered" j0 break else
jj1
9Implementation
10Tools Used
- ANTLR
- Eclipse (with plug-ins)
- Subversion
- Lobo
11Language Diagram
12Lessons Learned
- What to do and what to be wary of when designing
a compiler
13Lessons Learned
- Dont bother programming anything in or for
Windows. Its not worth it. - Making a Firefox plug-in for the MASC shell would
have been easyif we wrote everything in
JavaScript. - A lot of things are funnier at 3 in the morning.