浏览代码

Allow negative integer constants in the syntax

pull/22/head
Ian Piumarta 4 年前
父节点
当前提交
ac79aae6b2
共有 1 个文件被更改,包括 5 次插入2 次删除
  1. +5
    -2
      parse.leg

+ 5
- 2
parse.leg 查看文件

@ -765,7 +765,7 @@ argumentList = LPAREN m:makeMap
RPAREN { $$ = m }
value = n:FLOAT { $$ = newFloat(n) }
| n:INTEGER { $$ = newInteger(n) }
| n:integer { $$ = newInteger(n) }
| s:string { $$ = newString(s) }
| s:symbol { $$ = s }
| m:map { $$ = newMap(m) }
@ -798,7 +798,7 @@ map = LCB m:makeMap
makeMap = { $$ = makeMap() }
key = IDENT | INTEGER
key = IDENT | integer
- = (blank | comment)*
@ -816,6 +816,9 @@ keyword = FUN | SYNTAX | VAR | SWITCH | CASE | DEFAULT | DO | FOR | IN | WHILE |
IDENT = !keyword < [a-zA-Z_][a-zA-Z0-9_]* > - { $$ = intern(yytext) }
integer = i:INTEGER { $$ = i }
| '-' i:integer { $$ = makeInteger(-getInteger(i)) }
INTEGER = '0b' < [01]+ > - { $$ = makeInteger(strtol(yytext, 0, 2)) }
| '0x' < [0-9a-fA-F]+ > - { $$ = makeInteger(strtol(yytext, 0, 16)) }
| '0' < [0-7]+ > - { $$ = makeInteger(strtol(yytext, 0, 8)) }

正在加载...
取消
保存