Skip to content

Commit

Permalink
modified ometa and js compilers to use <...> where appropriate
Browse files Browse the repository at this point in the history
  • Loading branch information
alexwarth committed Jun 28, 2011
1 parent 1737db9 commit 2e4dae4
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 20 deletions.
11 changes: 5 additions & 6 deletions bs-js-compiler.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 3 additions & 5 deletions bs-js-compiler.txt
Original file line number Diff line number Diff line change
@@ -1,18 +1,16 @@
ometa BSJSParser <: Parser {
fromTo :x :y = seq(x) (~seq(y) char)* seq(y),
ometa BSJSParser {
space = ^space | fromTo('//', '\n') | fromTo('/*', '*/'),
nameFirst = letter | '$' | '_',
nameRest = nameFirst | digit,
iName = firstAndRest(#nameFirst, #nameRest):r -> r.join(''),
iName = <nameFirst nameRest*>,
isKeyword :x = ?BSJSParser._isKeyword(x),
name = iName:n ~isKeyword(n) -> [#name, n=='self' ? '$elf' : n],
keyword = iName:k isKeyword(k) -> [k, k],
hexDigit = char:x {this.hexDigits.indexOf(x.toLowerCase())}:v ?(v >= 0) -> v,
hexLit = hexLit:n hexDigit:d -> (n * 16 + d)
| hexDigit,
number = ``0x'' hexLit:n -> [#number, n]
| digit+:ws ('.' digit+ | empty -> []):fs -> [#number, parseFloat(ws.join('') + '.' +
fs.join(''))],
| <digit+ ('.' digit+)?>:f -> [#number, parseFloat(f)],
escapeChar = '\\' char:c -> unescape('\\' + c),
str = seq('"""') (escapeChar | ~seq('"""') char)*:cs seq('"""') -> [#string, cs.join('')]
| '\'' (escapeChar | ~'\'' char)*:cs '\'' -> [#string, cs.join('')]
Expand Down
Loading

0 comments on commit 2e4dae4

Please sign in to comment.