X-Git-Url: https://git.kianting.info/?a=blobdiff_plain;f=src%2Ftokenize.ts;fp=src%2Ftokenize.ts;h=e597a9ed09c6aeb1831c64bef1e962398b3d9a5e;hb=6f2e788329da7702ea96dc28ae04499917ec8152;hp=861b638e32420fc41b677eb943cd24d47eff601a;hpb=cda463d89022d09a5273b59bcd3e776f1127697a;p=uann diff --git a/src/tokenize.ts b/src/tokenize.ts index 861b638..e597a9e 100644 --- a/src/tokenize.ts +++ b/src/tokenize.ts @@ -98,7 +98,9 @@ export enum TokenType { NE, // <> APOS, // ' R_ARROW, // -> - + TRUE, // true + FALSE, // false + IF, // if } /** @@ -197,6 +199,25 @@ export function matchRange(l: string, u: string): (m: MatcheePair) => Maybe Maybe { + return (m)=>{ + if (s.length==0){ + return { _tag: "None" }; + } + var someM : Maybe = toSome(m); + for (var idx : number=0; idx { thenDo(thenDo(x, match1Char("-")), match1Char(">")), TokenType.R_ARROW); + /** * unary operator : generating the pattern of basic unary operator * @param char : uniry char for the operator @@ -488,7 +510,7 @@ export function tokenize(input: string): Array { lParen, rParen, lBracket, rBracket, lBrace, rBrace, comma, dot, colon, semicolon, at, hash, set, greaterthan, lessthan, apos, - float, newline, space, integer, str, id]; + float, newline, space, id, integer, str]; let term_aux = term_list.reduce((x, y) => orDo(x, y)); var new_x: Maybe = thenDo(old_x, term_aux);