Skip to content

Commit

Permalink
Richard O'Keefe's whole float DFA
Browse files Browse the repository at this point in the history
  • Loading branch information
Chris Anderson committed Jul 30, 2008
1 parent c754ad9 commit 2673dc0
Show file tree
Hide file tree
Showing 5 changed files with 12 additions and 6 deletions.
Binary file modified json_eep.beam
Binary file not shown.
Binary file modified json_grammar.beam
Binary file not shown.
Binary file modified json_lex2.beam
Binary file not shown.
9 changes: 6 additions & 3 deletions json_lex2.erl
Expand Up @@ -20,9 +20,12 @@


strip(TokenChars,TokenLen) -> lists:sublist(TokenChars, 2, TokenLen - 2). strip(TokenChars,TokenLen) -> lists:sublist(TokenChars, 2, TokenLen - 2).


whole_float(TokenChars) -> whole_float(Token_Chars) ->
{ok, NowFloat, 1 } = regexp:sub(TokenChars,"e",".0e"), list_to_float(insert_point_zero(Token_Chars)).
list_to_float(NowFloat).
insert_point_zero([$e|Cs]) -> ".0e" ++ Cs;
insert_point_zero([$E|Cs]) -> ".0e" ++ Cs;
insert_point_zero([C |Cs]) -> [C | insert_point_zero(Cs)].


unescape([$\\,$\"|Cs]) -> [$\"|unescape(Cs)]; unescape([$\\,$\"|Cs]) -> [$\"|unescape(Cs)];
unescape([$\\,$\\|Cs]) -> [$\\|unescape(Cs)]; unescape([$\\,$\\|Cs]) -> [$\\|unescape(Cs)];
Expand Down
9 changes: 6 additions & 3 deletions json_lex2.xrl
Expand Up @@ -43,9 +43,12 @@ Erlang code.


strip(TokenChars,TokenLen) -> lists:sublist(TokenChars, 2, TokenLen - 2). strip(TokenChars,TokenLen) -> lists:sublist(TokenChars, 2, TokenLen - 2).


whole_float(TokenChars) -> whole_float(Token_Chars) ->
{ok, NowFloat, 1 } = regexp:sub(TokenChars,"e",".0e"), list_to_float(insert_point_zero(Token_Chars)).
list_to_float(NowFloat).
insert_point_zero([$e|Cs]) -> ".0e" ++ Cs;
insert_point_zero([$E|Cs]) -> ".0e" ++ Cs;
insert_point_zero([C |Cs]) -> [C | insert_point_zero(Cs)].


unescape([$\\,$\"|Cs]) -> [$\"|unescape(Cs)]; unescape([$\\,$\"|Cs]) -> [$\"|unescape(Cs)];
unescape([$\\,$\\|Cs]) -> [$\\|unescape(Cs)]; unescape([$\\,$\\|Cs]) -> [$\\|unescape(Cs)];
Expand Down

0 comments on commit 2673dc0

Please sign in to comment.