Comparing version 1.0.15 to 1.1.0
@@ -44,52 +44,53 @@ 'use strict'; | ||
this.registerRule('selon', this.lex_20, 'default'); | ||
this.registerRule('autrement', this.lex_21, 'default'); | ||
this.registerRule('←', this.lex_22, 'default'); | ||
this.registerRule('<-', this.lex_23, 'default'); | ||
this.registerRule('↑', this.lex_24, 'default'); | ||
this.registerRule('^', this.lex_25, 'default'); | ||
this.registerRule('.', this.lex_26, 'default'); | ||
this.registerRule('[', this.lex_27, 'default'); | ||
this.registerRule(']', this.lex_28, 'default'); | ||
this.registerRule('=', this.lex_29, 'default'); | ||
this.registerRule('<>', this.lex_30, 'default'); | ||
this.registerRule('<', this.lex_31, 'default'); | ||
this.registerRule('<=', this.lex_32, 'default'); | ||
this.registerRule('>=', this.lex_33, 'default'); | ||
this.registerRule('>', this.lex_34, 'default'); | ||
this.registerRule('non', this.lex_35, 'default'); | ||
this.registerRule('et', this.lex_36, 'default'); | ||
this.registerRule('ou', this.lex_37, 'default'); | ||
this.registerRule('oue', this.lex_38, 'default'); | ||
this.registerRule('+', this.lex_39, 'default'); | ||
this.registerRule('-', this.lex_40, 'default'); | ||
this.registerRule('*', this.lex_41, 'default'); | ||
this.registerRule('/', this.lex_42, 'default'); | ||
this.registerRule('div', this.lex_43, 'default'); | ||
this.registerRule('mod', this.lex_44, 'default'); | ||
this.registerRule(',', this.lex_45, 'default'); | ||
this.registerRule(':', this.lex_46, 'default'); | ||
this.registerRule('(', this.lex_47, 'default'); | ||
this.registerRule(')', this.lex_48, 'default'); | ||
this.registerRule('/*', this.lex_49, 'default'); | ||
this.registerRule('nul', this.lex_50, 'default'); | ||
this.registerRule('"', this.lex_51, 'default'); | ||
this.registerRule(new RegExp('[0-9]+'), this.lex_52, 'default'); | ||
this.registerRule(new RegExp('[0-9]*\\.[0-9]+'), this.lex_53, 'default'); | ||
this.registerRule(new RegExp('\'(.)\''), this.lex_54, 'default'); | ||
this.registerRule('\'\\n\'', this.lex_55, 'default'); | ||
this.registerRule(new RegExp('[a-zA-Z_][a-zA-Z0-9_]*'), this.lex_56, 'default'); | ||
this.registerRule('\\\n', this.lex_57, 'default'); | ||
this.registerRule('\n', this.lex_58, 'default'); | ||
this.registerRule(new RegExp('\\s'), this.lex_59, 'default'); | ||
this.registerRule(new RegExp('.'), this.lex_60, 'default'); | ||
this.registerRule('/*', this.lex_61, 'comment'); | ||
this.registerRule('*/', this.lex_62, 'comment'); | ||
this.registerRule(new RegExp('.|\\n'), this.lex_63, 'comment'); | ||
this.registerRule('\\n', this.lex_64, 'dbstring'); | ||
this.registerRule(new RegExp('\\\\([\\\\"])'), this.lex_65, 'dbstring'); | ||
this.registerRule('"', this.lex_66, 'dbstring'); | ||
this.registerRule(new RegExp('.'), this.lex_67, 'dbstring'); | ||
this.registerRule(new RegExp('\\s+'), this.lex_68, 'linefeed'); | ||
this.registerRule('/*', this.lex_69, 'linefeed'); | ||
this.registerRule(new RegExp('.|$'), this.lex_70, 'linefeed'); | ||
this.registerRule('cas', this.lex_21, 'default'); | ||
this.registerRule('autrement', this.lex_22, 'default'); | ||
this.registerRule('nul', this.lex_23, 'default'); | ||
this.registerRule('"', this.lex_24, 'default'); | ||
this.registerRule(new RegExp('-?[0-9]+'), this.lex_25, 'default'); | ||
this.registerRule(new RegExp('-?[0-9]*\\.[0-9]+'), this.lex_26, 'default'); | ||
this.registerRule(new RegExp('\'(.)\''), this.lex_27, 'default'); | ||
this.registerRule('\'\\n\'', this.lex_28, 'default'); | ||
this.registerRule('←', this.lex_29, 'default'); | ||
this.registerRule('<-', this.lex_30, 'default'); | ||
this.registerRule('↑', this.lex_31, 'default'); | ||
this.registerRule('^', this.lex_32, 'default'); | ||
this.registerRule('.', this.lex_33, 'default'); | ||
this.registerRule('[', this.lex_34, 'default'); | ||
this.registerRule(']', this.lex_35, 'default'); | ||
this.registerRule('=', this.lex_36, 'default'); | ||
this.registerRule('<>', this.lex_37, 'default'); | ||
this.registerRule('<', this.lex_38, 'default'); | ||
this.registerRule('<=', this.lex_39, 'default'); | ||
this.registerRule('>=', this.lex_40, 'default'); | ||
this.registerRule('>', this.lex_41, 'default'); | ||
this.registerRule('non', this.lex_42, 'default'); | ||
this.registerRule('et', this.lex_43, 'default'); | ||
this.registerRule('ou', this.lex_44, 'default'); | ||
this.registerRule('oue', this.lex_45, 'default'); | ||
this.registerRule('+', this.lex_46, 'default'); | ||
this.registerRule('-', this.lex_47, 'default'); | ||
this.registerRule('*', this.lex_48, 'default'); | ||
this.registerRule('/', this.lex_49, 'default'); | ||
this.registerRule('div', this.lex_50, 'default'); | ||
this.registerRule('mod', this.lex_51, 'default'); | ||
this.registerRule(',', this.lex_52, 'default'); | ||
this.registerRule(':', this.lex_53, 'default'); | ||
this.registerRule('(', this.lex_54, 'default'); | ||
this.registerRule(')', this.lex_55, 'default'); | ||
this.registerRule('/*', this.lex_56, 'default'); | ||
this.registerRule(new RegExp('[a-zA-Z_][a-zA-Z0-9_]*'), this.lex_57, 'default'); | ||
this.registerRule('\\\n', this.lex_58, 'default'); | ||
this.registerRule('\n', this.lex_59, 'default'); | ||
this.registerRule(new RegExp('\\s'), this.lex_60, 'default'); | ||
this.registerRule(new RegExp('.'), this.lex_61, 'default'); | ||
this.registerRule('/*', this.lex_62, 'comment'); | ||
this.registerRule('*/', this.lex_63, 'comment'); | ||
this.registerRule(new RegExp('.|\\n'), this.lex_64, 'comment'); | ||
this.registerRule('\\n', this.lex_65, 'dbstring'); | ||
this.registerRule(new RegExp('\\\\([\\\\"])'), this.lex_66, 'dbstring'); | ||
this.registerRule('"', this.lex_67, 'dbstring'); | ||
this.registerRule(new RegExp('.'), this.lex_68, 'dbstring'); | ||
this.registerRule(new RegExp('\\s+'), this.lex_69, 'linefeed'); | ||
this.registerRule('/*', this.lex_70, 'linefeed'); | ||
this.registerRule(new RegExp('.|$'), this.lex_71, 'linefeed'); | ||
} | ||
@@ -261,3 +262,3 @@ | ||
__token__.sy.name = 'autrement'; | ||
__token__.sy.name = 'cas'; | ||
@@ -270,3 +271,3 @@ return true; | ||
__token__.sy.name = '←'; | ||
__token__.sy.name = 'autrement'; | ||
@@ -279,3 +280,3 @@ return true; | ||
__token__.sy.name = '←'; | ||
__token__.sy.name = 'nul'; | ||
@@ -288,5 +289,3 @@ return true; | ||
__token__.sy.name = '↑'; | ||
return true; | ||
this.pushScope('dbstring');__token__.val = '';return false; | ||
} | ||
@@ -297,5 +296,3 @@ lex_25(__match__, __token__) { | ||
__token__.sy.name = '↑'; | ||
return true; | ||
__token__.val = +__match__[0];__token__.sy.name = 'entier';return true; | ||
} | ||
@@ -306,5 +303,3 @@ lex_26(__match__, __token__) { | ||
__token__.sy.name = '.'; | ||
return true; | ||
__token__.val = +__match__[0];__token__.sy.name = 'reel';return true; | ||
} | ||
@@ -315,3 +310,4 @@ lex_27(__match__, __token__) { | ||
__token__.sy.name = '['; | ||
__token__.val = __match__[1]; | ||
__token__.sy.name = 'caractere'; | ||
@@ -324,5 +320,3 @@ return true; | ||
__token__.sy.name = ']'; | ||
return true; | ||
__token__.val = '\n';__token__.sy.name = 'caractere';return true; | ||
} | ||
@@ -333,3 +327,3 @@ lex_29(__match__, __token__) { | ||
__token__.sy.name = '='; | ||
__token__.sy.name = '←'; | ||
@@ -342,3 +336,3 @@ return true; | ||
__token__.sy.name = '<>'; | ||
__token__.sy.name = '←'; | ||
@@ -351,3 +345,3 @@ return true; | ||
__token__.sy.name = '<'; | ||
__token__.sy.name = '↑'; | ||
@@ -360,3 +354,3 @@ return true; | ||
__token__.sy.name = '<='; | ||
__token__.sy.name = '↑'; | ||
@@ -369,3 +363,3 @@ return true; | ||
__token__.sy.name = '>='; | ||
__token__.sy.name = '.'; | ||
@@ -378,3 +372,3 @@ return true; | ||
__token__.sy.name = '>'; | ||
__token__.sy.name = '['; | ||
@@ -387,3 +381,3 @@ return true; | ||
__token__.sy.name = 'non'; | ||
__token__.sy.name = ']'; | ||
@@ -396,3 +390,3 @@ return true; | ||
__token__.sy.name = 'et'; | ||
__token__.sy.name = '='; | ||
@@ -405,3 +399,3 @@ return true; | ||
__token__.sy.name = 'ou'; | ||
__token__.sy.name = '<>'; | ||
@@ -414,3 +408,3 @@ return true; | ||
__token__.sy.name = 'oue'; | ||
__token__.sy.name = '<'; | ||
@@ -423,3 +417,3 @@ return true; | ||
__token__.sy.name = '+'; | ||
__token__.sy.name = '<='; | ||
@@ -432,3 +426,3 @@ return true; | ||
__token__.sy.name = '-'; | ||
__token__.sy.name = '>='; | ||
@@ -441,3 +435,3 @@ return true; | ||
__token__.sy.name = '*'; | ||
__token__.sy.name = '>'; | ||
@@ -450,3 +444,3 @@ return true; | ||
__token__.sy.name = '/'; | ||
__token__.sy.name = 'non'; | ||
@@ -459,3 +453,3 @@ return true; | ||
__token__.sy.name = 'div'; | ||
__token__.sy.name = 'et'; | ||
@@ -468,3 +462,3 @@ return true; | ||
__token__.sy.name = 'mod'; | ||
__token__.sy.name = 'ou'; | ||
@@ -477,3 +471,3 @@ return true; | ||
__token__.sy.name = ','; | ||
__token__.sy.name = 'oue'; | ||
@@ -486,3 +480,3 @@ return true; | ||
__token__.sy.name = ':'; | ||
__token__.sy.name = '+'; | ||
@@ -495,3 +489,3 @@ return true; | ||
__token__.sy.name = '('; | ||
__token__.sy.name = '-'; | ||
@@ -504,3 +498,3 @@ return true; | ||
__token__.sy.name = ')'; | ||
__token__.sy.name = '*'; | ||
@@ -513,7 +507,5 @@ return true; | ||
__token__.sy.name = '/*'; | ||
__token__.sy.name = '/'; | ||
this.pushScope('comment'); | ||
return false; | ||
return true; | ||
} | ||
@@ -524,3 +516,3 @@ lex_50(__match__, __token__) { | ||
__token__.sy.name = 'nul'; | ||
__token__.sy.name = 'div'; | ||
@@ -533,3 +525,5 @@ return true; | ||
this.pushScope('dbstring');__token__.val = '';return false; | ||
__token__.sy.name = 'mod'; | ||
return true; | ||
} | ||
@@ -540,3 +534,5 @@ lex_52(__match__, __token__) { | ||
__token__.val = +__match__[0];__token__.sy.name = 'entier';return true; | ||
__token__.sy.name = ','; | ||
return true; | ||
} | ||
@@ -547,3 +543,5 @@ lex_53(__match__, __token__) { | ||
__token__.val = +__match__[0];__token__.sy.name = 'reel';return true; | ||
__token__.sy.name = ':'; | ||
return true; | ||
} | ||
@@ -554,4 +552,3 @@ lex_54(__match__, __token__) { | ||
__token__.val = __match__[1]; | ||
__token__.sy.name = 'caractere'; | ||
__token__.sy.name = '('; | ||
@@ -564,3 +561,5 @@ return true; | ||
__token__.val = '\n';__token__.sy.name = 'caractere';return true; | ||
__token__.sy.name = ')'; | ||
return true; | ||
} | ||
@@ -571,3 +570,7 @@ lex_56(__match__, __token__) { | ||
__token__.sy.name = 'identifieur';__token__.val = __match__[0].toLowerCase();return true; | ||
__token__.sy.name = '/*'; | ||
this.pushScope('comment'); | ||
return false; | ||
} | ||
@@ -578,2 +581,8 @@ lex_57(__match__, __token__) { | ||
__token__.sy.name = 'identifieur';__token__.val = __match__[0].toLowerCase();return true; | ||
} | ||
lex_58(__match__, __token__) { | ||
const __str__ = __match__[0]; | ||
__token__.sy.type = _symbol.LngSymbol.token; | ||
__token__.sy.name = '\\\n'; | ||
@@ -583,3 +592,3 @@ | ||
} | ||
lex_58(__match__, __token__) { | ||
lex_59(__match__, __token__) { | ||
const __str__ = __match__[0]; | ||
@@ -594,3 +603,3 @@ __token__.sy.type = _symbol.LngSymbol.token; | ||
} | ||
lex_59(__match__, __token__) { | ||
lex_60(__match__, __token__) { | ||
const __str__ = __match__[0]; | ||
@@ -601,3 +610,3 @@ __token__.sy.type = _symbol.LngSymbol.token; | ||
} | ||
lex_60(__match__, __token__) { | ||
lex_61(__match__, __token__) { | ||
const __str__ = __match__[0]; | ||
@@ -610,3 +619,3 @@ __token__.sy.type = _symbol.LngSymbol.token; | ||
} | ||
lex_61(__match__, __token__) { | ||
lex_62(__match__, __token__) { | ||
const __str__ = __match__[0]; | ||
@@ -621,3 +630,3 @@ __token__.sy.type = _symbol.LngSymbol.token; | ||
} | ||
lex_62(__match__, __token__) { | ||
lex_63(__match__, __token__) { | ||
const __str__ = __match__[0]; | ||
@@ -632,3 +641,3 @@ __token__.sy.type = _symbol.LngSymbol.token; | ||
} | ||
lex_63(__match__, __token__) { | ||
lex_64(__match__, __token__) { | ||
const __str__ = __match__[0]; | ||
@@ -639,3 +648,3 @@ __token__.sy.type = _symbol.LngSymbol.token; | ||
} | ||
lex_64(__match__, __token__) { | ||
lex_65(__match__, __token__) { | ||
const __str__ = __match__[0]; | ||
@@ -646,3 +655,3 @@ __token__.sy.type = _symbol.LngSymbol.token; | ||
} | ||
lex_65(__match__, __token__) { | ||
lex_66(__match__, __token__) { | ||
const __str__ = __match__[0]; | ||
@@ -653,3 +662,3 @@ __token__.sy.type = _symbol.LngSymbol.token; | ||
} | ||
lex_66(__match__, __token__) { | ||
lex_67(__match__, __token__) { | ||
const __str__ = __match__[0]; | ||
@@ -660,3 +669,3 @@ __token__.sy.type = _symbol.LngSymbol.token; | ||
} | ||
lex_67(__match__, __token__) { | ||
lex_68(__match__, __token__) { | ||
const __str__ = __match__[0]; | ||
@@ -667,3 +676,3 @@ __token__.sy.type = _symbol.LngSymbol.token; | ||
} | ||
lex_68(__match__, __token__) { | ||
lex_69(__match__, __token__) { | ||
const __str__ = __match__[0]; | ||
@@ -674,3 +683,3 @@ __token__.sy.type = _symbol.LngSymbol.token; | ||
} | ||
lex_69(__match__, __token__) { | ||
lex_70(__match__, __token__) { | ||
const __str__ = __match__[0]; | ||
@@ -685,3 +694,3 @@ __token__.sy.type = _symbol.LngSymbol.token; | ||
} | ||
lex_70(__match__, __token__) { | ||
lex_71(__match__, __token__) { | ||
const __str__ = __match__[0]; | ||
@@ -688,0 +697,0 @@ __token__.sy.type = _symbol.LngSymbol.token; |
@@ -408,7 +408,7 @@ 'use strict'; | ||
} | ||
selon_expressions0(__arg_1__, __arg_2__, __arg_3__, __arg_4__) { | ||
__arg_1__.value.push(new ast.SelonExpression(__arg_2__.value, __arg_4__.value));return __arg_1__.value; | ||
selon_expressions0(__arg_1__, __arg_2__, __arg_3__, __arg_4__, __arg_5__) { | ||
__arg_1__.value.push(new ast.SelonExpression(__arg_3__.value, __arg_5__.value));return __arg_1__.value; | ||
} | ||
selon_expressions1(__arg_1__, __arg_2__, __arg_3__) { | ||
return [new ast.SelonExpression(__arg_1__.value, __arg_3__.value)]; | ||
selon_expressions1(__arg_1__, __arg_2__, __arg_3__, __arg_4__) { | ||
return [new ast.SelonExpression(__arg_2__.value, __arg_4__.value)]; | ||
} | ||
@@ -415,0 +415,0 @@ autrement0(__arg_1__, __arg_2__) { |
278
lib/lexer.js
@@ -31,52 +31,53 @@ import * as ast from "./ast" | ||
this.registerRule('selon', this.lex_20, 'default') | ||
this.registerRule('autrement', this.lex_21, 'default') | ||
this.registerRule('←', this.lex_22, 'default') | ||
this.registerRule('<-', this.lex_23, 'default') | ||
this.registerRule('↑', this.lex_24, 'default') | ||
this.registerRule('^', this.lex_25, 'default') | ||
this.registerRule('.', this.lex_26, 'default') | ||
this.registerRule('[', this.lex_27, 'default') | ||
this.registerRule(']', this.lex_28, 'default') | ||
this.registerRule('=', this.lex_29, 'default') | ||
this.registerRule('<>', this.lex_30, 'default') | ||
this.registerRule('<', this.lex_31, 'default') | ||
this.registerRule('<=', this.lex_32, 'default') | ||
this.registerRule('>=', this.lex_33, 'default') | ||
this.registerRule('>', this.lex_34, 'default') | ||
this.registerRule('non', this.lex_35, 'default') | ||
this.registerRule('et', this.lex_36, 'default') | ||
this.registerRule('ou', this.lex_37, 'default') | ||
this.registerRule('oue', this.lex_38, 'default') | ||
this.registerRule('+', this.lex_39, 'default') | ||
this.registerRule('-', this.lex_40, 'default') | ||
this.registerRule('*', this.lex_41, 'default') | ||
this.registerRule('/', this.lex_42, 'default') | ||
this.registerRule('div', this.lex_43, 'default') | ||
this.registerRule('mod', this.lex_44, 'default') | ||
this.registerRule(',', this.lex_45, 'default') | ||
this.registerRule(':', this.lex_46, 'default') | ||
this.registerRule('(', this.lex_47, 'default') | ||
this.registerRule(')', this.lex_48, 'default') | ||
this.registerRule('/*', this.lex_49, 'default') | ||
this.registerRule('nul', this.lex_50, 'default') | ||
this.registerRule('"', this.lex_51, 'default') | ||
this.registerRule(new RegExp('[0-9]+'), this.lex_52, 'default') | ||
this.registerRule(new RegExp('[0-9]*\\.[0-9]+'), this.lex_53, 'default') | ||
this.registerRule(new RegExp('\'(.)\''), this.lex_54, 'default') | ||
this.registerRule('\'\\n\'', this.lex_55, 'default') | ||
this.registerRule(new RegExp('[a-zA-Z_][a-zA-Z0-9_]*'), this.lex_56, 'default') | ||
this.registerRule('\\\n', this.lex_57, 'default') | ||
this.registerRule('\n', this.lex_58, 'default') | ||
this.registerRule(new RegExp('\\s'), this.lex_59, 'default') | ||
this.registerRule(new RegExp('.'), this.lex_60, 'default') | ||
this.registerRule('/*', this.lex_61, 'comment') | ||
this.registerRule('*/', this.lex_62, 'comment') | ||
this.registerRule(new RegExp('.|\\n'), this.lex_63, 'comment') | ||
this.registerRule('\\n', this.lex_64, 'dbstring') | ||
this.registerRule(new RegExp('\\\\([\\\\"])'), this.lex_65, 'dbstring') | ||
this.registerRule('"', this.lex_66, 'dbstring') | ||
this.registerRule(new RegExp('.'), this.lex_67, 'dbstring') | ||
this.registerRule(new RegExp('\\s+'), this.lex_68, 'linefeed') | ||
this.registerRule('/*', this.lex_69, 'linefeed') | ||
this.registerRule(new RegExp('.|$'), this.lex_70, 'linefeed') | ||
this.registerRule('cas', this.lex_21, 'default') | ||
this.registerRule('autrement', this.lex_22, 'default') | ||
this.registerRule('nul', this.lex_23, 'default') | ||
this.registerRule('"', this.lex_24, 'default') | ||
this.registerRule(new RegExp('-?[0-9]+'), this.lex_25, 'default') | ||
this.registerRule(new RegExp('-?[0-9]*\\.[0-9]+'), this.lex_26, 'default') | ||
this.registerRule(new RegExp('\'(.)\''), this.lex_27, 'default') | ||
this.registerRule('\'\\n\'', this.lex_28, 'default') | ||
this.registerRule('←', this.lex_29, 'default') | ||
this.registerRule('<-', this.lex_30, 'default') | ||
this.registerRule('↑', this.lex_31, 'default') | ||
this.registerRule('^', this.lex_32, 'default') | ||
this.registerRule('.', this.lex_33, 'default') | ||
this.registerRule('[', this.lex_34, 'default') | ||
this.registerRule(']', this.lex_35, 'default') | ||
this.registerRule('=', this.lex_36, 'default') | ||
this.registerRule('<>', this.lex_37, 'default') | ||
this.registerRule('<', this.lex_38, 'default') | ||
this.registerRule('<=', this.lex_39, 'default') | ||
this.registerRule('>=', this.lex_40, 'default') | ||
this.registerRule('>', this.lex_41, 'default') | ||
this.registerRule('non', this.lex_42, 'default') | ||
this.registerRule('et', this.lex_43, 'default') | ||
this.registerRule('ou', this.lex_44, 'default') | ||
this.registerRule('oue', this.lex_45, 'default') | ||
this.registerRule('+', this.lex_46, 'default') | ||
this.registerRule('-', this.lex_47, 'default') | ||
this.registerRule('*', this.lex_48, 'default') | ||
this.registerRule('/', this.lex_49, 'default') | ||
this.registerRule('div', this.lex_50, 'default') | ||
this.registerRule('mod', this.lex_51, 'default') | ||
this.registerRule(',', this.lex_52, 'default') | ||
this.registerRule(':', this.lex_53, 'default') | ||
this.registerRule('(', this.lex_54, 'default') | ||
this.registerRule(')', this.lex_55, 'default') | ||
this.registerRule('/*', this.lex_56, 'default') | ||
this.registerRule(new RegExp('[a-zA-Z_][a-zA-Z0-9_]*'), this.lex_57, 'default') | ||
this.registerRule('\\\n', this.lex_58, 'default') | ||
this.registerRule('\n', this.lex_59, 'default') | ||
this.registerRule(new RegExp('\\s'), this.lex_60, 'default') | ||
this.registerRule(new RegExp('.'), this.lex_61, 'default') | ||
this.registerRule('/*', this.lex_62, 'comment') | ||
this.registerRule('*/', this.lex_63, 'comment') | ||
this.registerRule(new RegExp('.|\\n'), this.lex_64, 'comment') | ||
this.registerRule('\\n', this.lex_65, 'dbstring') | ||
this.registerRule(new RegExp('\\\\([\\\\"])'), this.lex_66, 'dbstring') | ||
this.registerRule('"', this.lex_67, 'dbstring') | ||
this.registerRule(new RegExp('.'), this.lex_68, 'dbstring') | ||
this.registerRule(new RegExp('\\s+'), this.lex_69, 'linefeed') | ||
this.registerRule('/*', this.lex_70, 'linefeed') | ||
this.registerRule(new RegExp('.|$'), this.lex_71, 'linefeed') | ||
} | ||
@@ -392,3 +393,3 @@ | ||
__token__.sy.name = 'autrement' | ||
__token__.sy.name = 'cas' | ||
@@ -408,3 +409,3 @@ | ||
__token__.sy.name = '←' | ||
__token__.sy.name = 'autrement' | ||
@@ -424,3 +425,3 @@ | ||
__token__.sy.name = '←' | ||
__token__.sy.name = 'nul' | ||
@@ -436,12 +437,5 @@ | ||
this.pushScope('dbstring'); __token__.val = ''; return false; | ||
__token__.sy.name = '↑' | ||
return true | ||
} | ||
@@ -452,12 +446,5 @@ lex_25(__match__, __token__) { | ||
__token__.val = +__match__[0]; __token__.sy.name = 'entier'; return true; | ||
__token__.sy.name = '↑' | ||
return true | ||
} | ||
@@ -468,12 +455,5 @@ lex_26(__match__, __token__) { | ||
__token__.val = +__match__[0]; __token__.sy.name = 'reel'; return true; | ||
__token__.sy.name = '.' | ||
return true | ||
} | ||
@@ -487,8 +467,8 @@ lex_27(__match__, __token__) { | ||
__token__.val = __match__[1] | ||
__token__.sy.name = 'caractere' | ||
__token__.sy.name = '[' | ||
return true | ||
@@ -500,12 +480,5 @@ } | ||
__token__.val = '\n'; __token__.sy.name = 'caractere'; return true; | ||
__token__.sy.name = ']' | ||
return true | ||
} | ||
@@ -520,3 +493,3 @@ lex_29(__match__, __token__) { | ||
__token__.sy.name = '=' | ||
__token__.sy.name = '←' | ||
@@ -536,3 +509,3 @@ | ||
__token__.sy.name = '<>' | ||
__token__.sy.name = '←' | ||
@@ -552,3 +525,3 @@ | ||
__token__.sy.name = '<' | ||
__token__.sy.name = '↑' | ||
@@ -568,3 +541,3 @@ | ||
__token__.sy.name = '<=' | ||
__token__.sy.name = '↑' | ||
@@ -584,3 +557,3 @@ | ||
__token__.sy.name = '>=' | ||
__token__.sy.name = '.' | ||
@@ -600,3 +573,3 @@ | ||
__token__.sy.name = '>' | ||
__token__.sy.name = '[' | ||
@@ -616,3 +589,3 @@ | ||
__token__.sy.name = 'non' | ||
__token__.sy.name = ']' | ||
@@ -632,3 +605,3 @@ | ||
__token__.sy.name = 'et' | ||
__token__.sy.name = '=' | ||
@@ -648,3 +621,3 @@ | ||
__token__.sy.name = 'ou' | ||
__token__.sy.name = '<>' | ||
@@ -664,3 +637,3 @@ | ||
__token__.sy.name = 'oue' | ||
__token__.sy.name = '<' | ||
@@ -680,3 +653,3 @@ | ||
__token__.sy.name = '+' | ||
__token__.sy.name = '<=' | ||
@@ -696,3 +669,3 @@ | ||
__token__.sy.name = '-' | ||
__token__.sy.name = '>=' | ||
@@ -712,3 +685,3 @@ | ||
__token__.sy.name = '*' | ||
__token__.sy.name = '>' | ||
@@ -728,3 +701,3 @@ | ||
__token__.sy.name = '/' | ||
__token__.sy.name = 'non' | ||
@@ -744,3 +717,3 @@ | ||
__token__.sy.name = 'div' | ||
__token__.sy.name = 'et' | ||
@@ -760,3 +733,3 @@ | ||
__token__.sy.name = 'mod' | ||
__token__.sy.name = 'ou' | ||
@@ -776,3 +749,3 @@ | ||
__token__.sy.name = ',' | ||
__token__.sy.name = 'oue' | ||
@@ -792,3 +765,3 @@ | ||
__token__.sy.name = ':' | ||
__token__.sy.name = '+' | ||
@@ -808,3 +781,3 @@ | ||
__token__.sy.name = '(' | ||
__token__.sy.name = '-' | ||
@@ -824,3 +797,3 @@ | ||
__token__.sy.name = ')' | ||
__token__.sy.name = '*' | ||
@@ -840,8 +813,8 @@ | ||
__token__.sy.name = '/*' | ||
__token__.sy.name = '/' | ||
this.pushScope('comment') | ||
return false | ||
return true | ||
} | ||
@@ -856,3 +829,3 @@ lex_50(__match__, __token__) { | ||
__token__.sy.name = 'nul' | ||
__token__.sy.name = 'div' | ||
@@ -868,5 +841,12 @@ | ||
this.pushScope('dbstring'); __token__.val = ''; return false; | ||
__token__.sy.name = 'mod' | ||
return true | ||
} | ||
@@ -877,5 +857,12 @@ lex_52(__match__, __token__) { | ||
__token__.val = +__match__[0]; __token__.sy.name = 'entier'; return true; | ||
__token__.sy.name = ',' | ||
return true | ||
} | ||
@@ -886,5 +873,12 @@ lex_53(__match__, __token__) { | ||
__token__.val = +__match__[0]; __token__.sy.name = 'reel'; return true; | ||
__token__.sy.name = ':' | ||
return true | ||
} | ||
@@ -898,8 +892,8 @@ lex_54(__match__, __token__) { | ||
__token__.val = __match__[1] | ||
__token__.sy.name = 'caractere' | ||
__token__.sy.name = '(' | ||
return true | ||
@@ -911,5 +905,12 @@ } | ||
__token__.val = '\n'; __token__.sy.name = 'caractere'; return true; | ||
__token__.sy.name = ')' | ||
return true | ||
} | ||
@@ -920,5 +921,12 @@ lex_56(__match__, __token__) { | ||
__token__.sy.name = 'identifieur'; __token__.val = __match__[0].toLowerCase(); return true; | ||
__token__.sy.name = '/*' | ||
this.pushScope('comment') | ||
return false | ||
} | ||
@@ -929,2 +937,10 @@ lex_57(__match__, __token__) { | ||
__token__.sy.name = 'identifieur'; __token__.val = __match__[0].toLowerCase(); return true; | ||
} | ||
lex_58(__match__, __token__) { | ||
const __str__ = __match__[0] | ||
__token__.sy.type = LngSymbol.token; | ||
@@ -941,3 +957,3 @@ | ||
} | ||
lex_58(__match__, __token__) { | ||
lex_59(__match__, __token__) { | ||
const __str__ = __match__[0] | ||
@@ -957,3 +973,3 @@ __token__.sy.type = LngSymbol.token; | ||
} | ||
lex_59(__match__, __token__) { | ||
lex_60(__match__, __token__) { | ||
const __str__ = __match__[0] | ||
@@ -973,3 +989,3 @@ __token__.sy.type = LngSymbol.token; | ||
} | ||
lex_60(__match__, __token__) { | ||
lex_61(__match__, __token__) { | ||
const __str__ = __match__[0] | ||
@@ -989,3 +1005,3 @@ __token__.sy.type = LngSymbol.token; | ||
} | ||
lex_61(__match__, __token__) { | ||
lex_62(__match__, __token__) { | ||
const __str__ = __match__[0] | ||
@@ -1005,3 +1021,3 @@ __token__.sy.type = LngSymbol.token; | ||
} | ||
lex_62(__match__, __token__) { | ||
lex_63(__match__, __token__) { | ||
const __str__ = __match__[0] | ||
@@ -1021,3 +1037,3 @@ __token__.sy.type = LngSymbol.token; | ||
} | ||
lex_63(__match__, __token__) { | ||
lex_64(__match__, __token__) { | ||
const __str__ = __match__[0] | ||
@@ -1037,3 +1053,3 @@ __token__.sy.type = LngSymbol.token; | ||
} | ||
lex_64(__match__, __token__) { | ||
lex_65(__match__, __token__) { | ||
const __str__ = __match__[0] | ||
@@ -1046,3 +1062,3 @@ __token__.sy.type = LngSymbol.token; | ||
} | ||
lex_65(__match__, __token__) { | ||
lex_66(__match__, __token__) { | ||
const __str__ = __match__[0] | ||
@@ -1055,3 +1071,3 @@ __token__.sy.type = LngSymbol.token; | ||
} | ||
lex_66(__match__, __token__) { | ||
lex_67(__match__, __token__) { | ||
const __str__ = __match__[0] | ||
@@ -1064,3 +1080,3 @@ __token__.sy.type = LngSymbol.token; | ||
} | ||
lex_67(__match__, __token__) { | ||
lex_68(__match__, __token__) { | ||
const __str__ = __match__[0] | ||
@@ -1073,3 +1089,3 @@ __token__.sy.type = LngSymbol.token; | ||
} | ||
lex_68(__match__, __token__) { | ||
lex_69(__match__, __token__) { | ||
const __str__ = __match__[0] | ||
@@ -1089,3 +1105,3 @@ __token__.sy.type = LngSymbol.token; | ||
} | ||
lex_69(__match__, __token__) { | ||
lex_70(__match__, __token__) { | ||
const __str__ = __match__[0] | ||
@@ -1105,3 +1121,3 @@ __token__.sy.type = LngSymbol.token; | ||
} | ||
lex_70(__match__, __token__) { | ||
lex_71(__match__, __token__) { | ||
const __str__ = __match__[0] | ||
@@ -1108,0 +1124,0 @@ __token__.sy.type = LngSymbol.token; |
@@ -393,7 +393,7 @@ import * as ast from "./ast" | ||
} | ||
selon_expressions0(__arg_1__, __arg_2__, __arg_3__, __arg_4__) { | ||
__arg_1__.value.push(new ast.SelonExpression(__arg_2__.value, __arg_4__.value)); return __arg_1__.value; | ||
selon_expressions0(__arg_1__, __arg_2__, __arg_3__, __arg_4__, __arg_5__) { | ||
__arg_1__.value.push(new ast.SelonExpression(__arg_3__.value, __arg_5__.value)); return __arg_1__.value; | ||
} | ||
selon_expressions1(__arg_1__, __arg_2__, __arg_3__) { | ||
return [new ast.SelonExpression(__arg_1__.value, __arg_3__.value)]; | ||
selon_expressions1(__arg_1__, __arg_2__, __arg_3__, __arg_4__) { | ||
return [new ast.SelonExpression(__arg_2__.value, __arg_4__.value)]; | ||
} | ||
@@ -400,0 +400,0 @@ autrement0(__arg_1__, __arg_2__) { |
{ | ||
"name": "algo-lang", | ||
"version": "1.0.15", | ||
"version": "1.1.0", | ||
"description": "Algorithmic language interpreter (in French only for now)", | ||
@@ -5,0 +5,0 @@ "homepage": "https://bitbucket.org/lsystems/algo-lang/overview", |
@@ -59,2 +59,15 @@ # Algorithmic natural language interpreter (language using french keywords) | ||
#### Note | ||
`selon` expressions differ slightly from the previous documentation. There is a `cas` keyword added in the mix to allow LALR parsing : | ||
```algo | ||
selon expression faire | ||
cas val1, val2: expr1 | ||
expr2 | ||
autrement expr3 | ||
expr4 | ||
fin selon | ||
``` | ||
### Good to know | ||
@@ -61,0 +74,0 @@ |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
487242
6348
116