mirror of
https://github.com/leporello-js/leporello-js
synced 2026-01-13 13:04:30 -08:00
fix parser reserved words
This commit is contained in:
@@ -724,7 +724,10 @@ const function_call_or_member_access = nested =>
|
||||
),
|
||||
// Adjust identifier to string literal
|
||||
if_ok(
|
||||
identifier,
|
||||
either(
|
||||
identifier,
|
||||
by_type('keyword'),
|
||||
),
|
||||
iden => ({...iden,
|
||||
type: 'string_literal',
|
||||
value: '"' + iden.value + '"',
|
||||
|
||||
@@ -3,9 +3,7 @@
|
||||
export const reserved = [
|
||||
'break',
|
||||
'case',
|
||||
// TODO: fix parser to allow catch be an Object key, as other reserved words.
|
||||
// Currently we make exception for promise.catch
|
||||
// 'catch',
|
||||
'catch',
|
||||
'class',
|
||||
'const',
|
||||
'continue',
|
||||
@@ -16,9 +14,7 @@ export const reserved = [
|
||||
'else',
|
||||
'export',
|
||||
'extends',
|
||||
// TODO: fix parser to allow finally be an Object key, as other reserved words.
|
||||
// Currently we make exception for promise.finally
|
||||
// 'finally',
|
||||
'finally',
|
||||
'for',
|
||||
'function',
|
||||
'if',
|
||||
@@ -36,9 +32,7 @@ export const reserved = [
|
||||
'var',
|
||||
'void',
|
||||
'while',
|
||||
// TODO: fix parser to allow 'with' be an Object key, as other reserved words.
|
||||
// Currently we make exception for Array.with
|
||||
// 'with',
|
||||
'with',
|
||||
'yield',
|
||||
'enum',
|
||||
'implements',
|
||||
|
||||
@@ -32,6 +32,12 @@ import {
|
||||
|
||||
export const tests = [
|
||||
|
||||
test('reserved words', () => {
|
||||
const result = do_parse('let catch')
|
||||
assert_equal(result.ok, false)
|
||||
assert_equal(result.problems[0].index, 4)
|
||||
}),
|
||||
|
||||
test('invalid token in the beginning', () => {
|
||||
const result = do_parse('# import')
|
||||
assert_equal(result, {
|
||||
|
||||
Reference in New Issue
Block a user