Fix comma-dangle warning from ESLint
This commit is contained in:
parent
56722b6d41
commit
b7b87ea8ae
|
@ -254,7 +254,7 @@ function generateBytecode( ast, session ) {
|
|||
return condCode.concat(
|
||||
[ thenCode.length, elseCode.length ],
|
||||
thenCode,
|
||||
elseCode
|
||||
elseCode,
|
||||
);
|
||||
|
||||
}
|
||||
|
@ -291,14 +291,14 @@ function generateBytecode( ast, session ) {
|
|||
buildSequence(
|
||||
[ op.POP ],
|
||||
[ negative ? op.POP : op.POP_CURR_POS ],
|
||||
[ op.PUSH_UNDEFINED ]
|
||||
[ op.PUSH_UNDEFINED ],
|
||||
),
|
||||
buildSequence(
|
||||
[ op.POP ],
|
||||
[ negative ? op.POP_CURR_POS : op.POP ],
|
||||
[ op.PUSH_FAILED ]
|
||||
)
|
||||
)
|
||||
[ op.PUSH_FAILED ],
|
||||
),
|
||||
),
|
||||
);
|
||||
|
||||
}
|
||||
|
@ -314,8 +314,8 @@ function generateBytecode( ast, session ) {
|
|||
node.match|0,
|
||||
[ op.IF ],
|
||||
buildSequence( [ op.POP ], negative ? [ op.PUSH_FAILED ] : [ op.PUSH_UNDEFINED ] ),
|
||||
buildSequence( [ op.POP ], negative ? [ op.PUSH_UNDEFINED ] : [ op.PUSH_FAILED ] )
|
||||
)
|
||||
buildSequence( [ op.POP ], negative ? [ op.PUSH_UNDEFINED ] : [ op.PUSH_FAILED ] ),
|
||||
),
|
||||
);
|
||||
|
||||
}
|
||||
|
@ -324,7 +324,7 @@ function generateBytecode( ast, session ) {
|
|||
|
||||
return buildLoop(
|
||||
[ op.WHILE_NOT_ERROR ],
|
||||
buildSequence( [ op.APPEND ], expressionCode )
|
||||
buildSequence( [ op.APPEND ], expressionCode ),
|
||||
);
|
||||
|
||||
}
|
||||
|
@ -355,7 +355,7 @@ function generateBytecode( ast, session ) {
|
|||
|
||||
// Do not generate unused constant, if no need it
|
||||
const nameIndex = context.reportFailures ? addExpectedConst(
|
||||
{ type: "rule", value: node.name }
|
||||
{ type: "rule", value: node.name },
|
||||
) : null;
|
||||
const expressionCode = generate( node.expression, {
|
||||
sp: context.sp,
|
||||
|
@ -369,7 +369,7 @@ function generateBytecode( ast, session ) {
|
|||
[ op.EXPECT, nameIndex ],
|
||||
[ op.SILENT_FAILS_ON ],
|
||||
expressionCode,
|
||||
[ op.SILENT_FAILS_OFF ]
|
||||
[ op.SILENT_FAILS_OFF ],
|
||||
) : expressionCode;
|
||||
|
||||
},
|
||||
|
@ -393,10 +393,10 @@ function generateBytecode( ast, session ) {
|
|||
[ op.IF_ERROR ],
|
||||
buildSequence(
|
||||
[ op.POP ],
|
||||
buildAlternativesCode( alternatives.slice( 1 ), context )
|
||||
buildAlternativesCode( alternatives.slice( 1 ), context ),
|
||||
),
|
||||
[]
|
||||
)
|
||||
[],
|
||||
),
|
||||
);
|
||||
|
||||
}
|
||||
|
@ -430,11 +430,11 @@ function generateBytecode( ast, session ) {
|
|||
[ op.IF_NOT_ERROR ],
|
||||
buildSequence(
|
||||
[ op.LOAD_SAVED_POS, 1 ],
|
||||
buildCall( functionIndex, 1, env, context.sp + 2 )
|
||||
buildCall( functionIndex, 1, env, context.sp + 2 ),
|
||||
),
|
||||
[]
|
||||
[],
|
||||
),
|
||||
[ op.NIP ]
|
||||
[ op.NIP ],
|
||||
);
|
||||
|
||||
},
|
||||
|
@ -470,9 +470,9 @@ function generateBytecode( ast, session ) {
|
|||
buildSequence(
|
||||
processedCount > 1 ? [ op.POP_N, processedCount ] : [ op.POP ],
|
||||
[ op.POP_CURR_POS ],
|
||||
[ op.PUSH_FAILED ]
|
||||
)
|
||||
)
|
||||
[ op.PUSH_FAILED ],
|
||||
),
|
||||
),
|
||||
);
|
||||
|
||||
}
|
||||
|
@ -481,7 +481,7 @@ function generateBytecode( ast, session ) {
|
|||
|
||||
return buildSequence(
|
||||
[ op.PLUCK, TOTAL_ELEMENTS + 1, context.pluck.length ],
|
||||
context.pluck.map( eSP => context.sp - eSP )
|
||||
context.pluck.map( eSP => context.sp - eSP ),
|
||||
);
|
||||
|
||||
if ( context.action )
|
||||
|
@ -492,12 +492,12 @@ function generateBytecode( ast, session ) {
|
|||
addFunctionConst( // functionIndex
|
||||
false,
|
||||
Object.keys( context.env ),
|
||||
context.action.code
|
||||
context.action.code,
|
||||
),
|
||||
TOTAL_ELEMENTS + 1,
|
||||
context.env,
|
||||
context.sp
|
||||
)
|
||||
context.sp,
|
||||
),
|
||||
);
|
||||
|
||||
return buildSequence( [ op.WRAP, TOTAL_ELEMENTS ], [ op.NIP ] );
|
||||
|
@ -512,7 +512,7 @@ function generateBytecode( ast, session ) {
|
|||
pluck: [],
|
||||
action: context.action,
|
||||
reportFailures: context.reportFailures,
|
||||
} )
|
||||
} ),
|
||||
);
|
||||
|
||||
},
|
||||
|
@ -557,8 +557,8 @@ function generateBytecode( ast, session ) {
|
|||
node.expression.match|0,
|
||||
[ op.IF_NOT_ERROR ],
|
||||
buildSequence( [ op.POP ], [ op.TEXT ] ),
|
||||
[ op.NIP ]
|
||||
)
|
||||
[ op.NIP ],
|
||||
),
|
||||
);
|
||||
|
||||
},
|
||||
|
@ -589,8 +589,8 @@ function generateBytecode( ast, session ) {
|
|||
-( node.expression.match|0 ),
|
||||
[ op.IF_ERROR ],
|
||||
buildSequence( [ op.POP ], [ op.PUSH_NULL ] ),
|
||||
[]
|
||||
)
|
||||
[],
|
||||
),
|
||||
);
|
||||
|
||||
},
|
||||
|
@ -608,7 +608,7 @@ function generateBytecode( ast, session ) {
|
|||
[ op.PUSH_EMPTY_ARRAY ],
|
||||
expressionCode,
|
||||
buildAppendLoop( expressionCode ),
|
||||
[ op.POP ]
|
||||
[ op.POP ],
|
||||
);
|
||||
|
||||
},
|
||||
|
@ -629,8 +629,8 @@ function generateBytecode( ast, session ) {
|
|||
node.expression.match|0,
|
||||
[ op.IF_NOT_ERROR ],
|
||||
buildSequence( buildAppendLoop( expressionCode ), [ op.POP ] ),
|
||||
buildSequence( [ op.POP ], [ op.POP ], [ op.PUSH_FAILED ] )
|
||||
)
|
||||
buildSequence( [ op.POP ], [ op.POP ], [ op.PUSH_FAILED ] ),
|
||||
),
|
||||
);
|
||||
|
||||
},
|
||||
|
@ -671,7 +671,7 @@ function generateBytecode( ast, session ) {
|
|||
const match = node.match|0;
|
||||
const needConst = match === 0 || ( match > 0 && ! node.ignoreCase );
|
||||
const stringIndex = needConst ? addLiteralConst(
|
||||
node.ignoreCase ? node.value.toLowerCase() : node.value
|
||||
node.ignoreCase ? node.value.toLowerCase() : node.value,
|
||||
) : null;
|
||||
// Do not generate unused constant, if no need it
|
||||
const expectedIndex = context.reportFailures ? addExpectedConst( {
|
||||
|
@ -693,8 +693,8 @@ function generateBytecode( ast, session ) {
|
|||
node.ignoreCase
|
||||
? [ op.ACCEPT_N, node.value.length ]
|
||||
: [ op.ACCEPT_STRING, stringIndex ],
|
||||
[ op.PUSH_FAILED ]
|
||||
)
|
||||
[ op.PUSH_FAILED ],
|
||||
),
|
||||
);
|
||||
|
||||
}
|
||||
|
@ -721,8 +721,8 @@ function generateBytecode( ast, session ) {
|
|||
match,
|
||||
[ op.MATCH_CLASS, classIndex ],
|
||||
[ op.ACCEPT_N, 1 ],
|
||||
[ op.PUSH_FAILED ]
|
||||
)
|
||||
[ op.PUSH_FAILED ],
|
||||
),
|
||||
);
|
||||
|
||||
},
|
||||
|
@ -740,8 +740,8 @@ function generateBytecode( ast, session ) {
|
|||
node.match|0,
|
||||
[ op.MATCH_ANY ],
|
||||
[ op.ACCEPT_N, 1 ],
|
||||
[ op.PUSH_FAILED ]
|
||||
)
|
||||
[ op.PUSH_FAILED ],
|
||||
),
|
||||
);
|
||||
|
||||
},
|
||||
|
|
|
@ -147,13 +147,13 @@ function generateJS( ast, session, options ) {
|
|||
return ast.literals
|
||||
.map( ( c, i ) => "var " + l( i ) + " = " + buildLiteral( c ) + ";" )
|
||||
.concat( "", ast.classes.map(
|
||||
( c, i ) => "var " + r( i ) + " = " + buildRegexp( c ) + ";"
|
||||
( c, i ) => "var " + r( i ) + " = " + buildRegexp( c ) + ";",
|
||||
) )
|
||||
.concat( "", ast.expectations.map(
|
||||
( c, i ) => "var " + e( i ) + " = " + buildExpectation( c ) + ";"
|
||||
( c, i ) => "var " + e( i ) + " = " + buildExpectation( c ) + ";",
|
||||
) )
|
||||
.concat( "", ast.functions.map(
|
||||
( c, i ) => "var " + f( i ) + " = " + buildFunc( c ) + ";"
|
||||
( c, i ) => "var " + f( i ) + " = " + buildFunc( c ) + ";",
|
||||
) )
|
||||
.join( "\n" );
|
||||
|
||||
|
@ -492,15 +492,15 @@ function generateJS( ast, session, options ) {
|
|||
" case " + op.IF_ERROR + ":", // IF_ERROR t, f
|
||||
indent10( generateCondition(
|
||||
"stack[stack.length - 1] === peg$FAILED",
|
||||
0
|
||||
0,
|
||||
) ),
|
||||
"",
|
||||
" case " + op.IF_NOT_ERROR + ":", // IF_NOT_ERROR t, f
|
||||
indent10(
|
||||
generateCondition(
|
||||
"stack[stack.length - 1] !== peg$FAILED",
|
||||
0
|
||||
)
|
||||
0,
|
||||
),
|
||||
),
|
||||
"",
|
||||
" case " + op.WHILE_NOT_ERROR + ":", // WHILE_NOT_ERROR b
|
||||
|
@ -512,19 +512,19 @@ function generateJS( ast, session, options ) {
|
|||
" case " + op.MATCH_STRING + ":", // MATCH_STRING s, a, f, ...
|
||||
indent10( generateCondition(
|
||||
"input.substr(peg$currPos, peg$literals[bc[ip + 1]].length) === peg$literals[bc[ip + 1]]",
|
||||
1
|
||||
1,
|
||||
) ),
|
||||
"",
|
||||
" case " + op.MATCH_STRING_IC + ":", // MATCH_STRING_IC s, a, f, ...
|
||||
indent10( generateCondition(
|
||||
"input.substr(peg$currPos, peg$literals[bc[ip + 1]].length).toLowerCase() === peg$literals[bc[ip + 1]]",
|
||||
1
|
||||
1,
|
||||
) ),
|
||||
"",
|
||||
" case " + op.MATCH_CLASS + ":", // MATCH_CLASS c, a, f, ...
|
||||
indent10( generateCondition(
|
||||
"peg$regexps[bc[ip + 1]].test(input.charAt(peg$currPos))",
|
||||
1
|
||||
1,
|
||||
) ),
|
||||
"",
|
||||
" case " + op.ACCEPT_N + ":", // ACCEPT_N n
|
||||
|
@ -697,7 +697,7 @@ function generateJS( ast, session, options ) {
|
|||
session.fatal(
|
||||
"Rule '" + rule.name + "', position " + pos + ": "
|
||||
+ "Branches of a condition can't move the stack pointer differently "
|
||||
+ "(before: " + baseSp + ", after then: " + thenSp + ", after else: " + elseSp + ")."
|
||||
+ "(before: " + baseSp + ", after then: " + thenSp + ", after else: " + elseSp + ").",
|
||||
);
|
||||
|
||||
}
|
||||
|
@ -735,7 +735,7 @@ function generateJS( ast, session, options ) {
|
|||
session.fatal(
|
||||
"Rule '" + rule.name + "', position " + pos + ": "
|
||||
+ "Body of a loop can't move the stack pointer "
|
||||
+ "(before: " + baseSp + ", after: " + bodySp + ")."
|
||||
+ "(before: " + baseSp + ", after: " + bodySp + ").",
|
||||
);
|
||||
|
||||
}
|
||||
|
@ -829,14 +829,14 @@ function generateJS( ast, session, options ) {
|
|||
|
||||
case op.WRAP: // WRAP n
|
||||
parts.push(
|
||||
stack.push( "[" + stack.pop( bc[ ip + 1 ] ).join( ", " ) + "]" )
|
||||
stack.push( "[" + stack.pop( bc[ ip + 1 ] ).join( ", " ) + "]" ),
|
||||
);
|
||||
ip += 2;
|
||||
break;
|
||||
|
||||
case op.TEXT: // TEXT
|
||||
parts.push(
|
||||
stack.push( "input.substring(" + stack.pop() + ", peg$currPos)" )
|
||||
stack.push( "input.substring(" + stack.pop() + ", peg$currPos)" ),
|
||||
);
|
||||
ip++;
|
||||
break;
|
||||
|
@ -886,7 +886,7 @@ function generateJS( ast, session, options ) {
|
|||
+ l( bc[ ip + 1 ] )
|
||||
: "input.charCodeAt(peg$currPos) === "
|
||||
+ ast.literals[ bc[ ip + 1 ] ].charCodeAt( 0 )
|
||||
, 1
|
||||
, 1,
|
||||
);
|
||||
break;
|
||||
|
||||
|
@ -896,7 +896,7 @@ function generateJS( ast, session, options ) {
|
|||
+ ast.literals[ bc[ ip + 1 ] ].length
|
||||
+ ").toLowerCase() === "
|
||||
+ l( bc[ ip + 1 ] )
|
||||
, 1
|
||||
, 1,
|
||||
);
|
||||
break;
|
||||
|
||||
|
@ -908,12 +908,12 @@ function generateJS( ast, session, options ) {
|
|||
parts.push( stack.push(
|
||||
bc[ ip + 1 ] > 1
|
||||
? "input.substr(peg$currPos, " + bc[ ip + 1 ] + ")"
|
||||
: "input.charAt(peg$currPos)"
|
||||
: "input.charAt(peg$currPos)",
|
||||
) );
|
||||
parts.push(
|
||||
bc[ ip + 1 ] > 1
|
||||
? "peg$currPos += " + bc[ ip + 1 ] + ";"
|
||||
: "peg$currPos++;"
|
||||
: "peg$currPos++;",
|
||||
);
|
||||
ip += 2;
|
||||
break;
|
||||
|
@ -923,7 +923,7 @@ function generateJS( ast, session, options ) {
|
|||
parts.push(
|
||||
ast.literals[ bc[ ip + 1 ] ].length > 1
|
||||
? "peg$currPos += " + ast.literals[ bc[ ip + 1 ] ].length + ";"
|
||||
: "peg$currPos++;"
|
||||
: "peg$currPos++;",
|
||||
);
|
||||
ip += 2;
|
||||
break;
|
||||
|
@ -976,7 +976,7 @@ function generateJS( ast, session, options ) {
|
|||
default:
|
||||
session.fatal(
|
||||
"Rule '" + rule.name + "', position " + ip + ": "
|
||||
+ "Invalid opcode " + bc[ ip ] + "."
|
||||
+ "Invalid opcode " + bc[ ip ] + ".",
|
||||
);
|
||||
|
||||
}
|
||||
|
@ -1007,12 +1007,12 @@ function generateJS( ast, session, options ) {
|
|||
|
||||
parts.push( indent2( generateRuleHeader(
|
||||
"\"" + util.stringEscape( rule.name ) + "\"",
|
||||
ast.indexOfRule( rule.name )
|
||||
ast.indexOfRule( rule.name ),
|
||||
) ) );
|
||||
parts.push( indent2( code ) );
|
||||
parts.push( indent2( generateRuleFooter(
|
||||
"\"" + util.stringEscape( rule.name ) + "\"",
|
||||
s( 0 )
|
||||
s( 0 ),
|
||||
) ) );
|
||||
|
||||
parts.push( "}" );
|
||||
|
@ -1746,7 +1746,7 @@ function generateJS( ast, session, options ) {
|
|||
|
||||
parts.push(
|
||||
generateHeaderComment(),
|
||||
""
|
||||
"",
|
||||
);
|
||||
|
||||
if ( dependencyVars.length > 0 ) {
|
||||
|
@ -1769,7 +1769,7 @@ function generateJS( ast, session, options ) {
|
|||
"export " + generateParserExports() + ";",
|
||||
"",
|
||||
"export default " + generateParserObject() + ";",
|
||||
""
|
||||
"",
|
||||
);
|
||||
|
||||
return parts.join( "\n" );
|
||||
|
|
|
@ -90,7 +90,7 @@ function inferenceMatchResult( ast, session ) {
|
|||
|
||||
session.error(
|
||||
"Infinity cycle detected when trying to evaluate node match result",
|
||||
node.location
|
||||
node.location,
|
||||
);
|
||||
|
||||
}
|
||||
|
|
|
@ -43,7 +43,7 @@ function reportDuplicateLabels( ast, session ) {
|
|||
|
||||
session.error(
|
||||
`Label "${ label }" is already defined at line ${ start.line }, column ${ start.column }.`,
|
||||
node.location
|
||||
node.location,
|
||||
);
|
||||
|
||||
}
|
||||
|
|
|
@ -18,7 +18,7 @@ function reportDuplicateRules( ast, session ) {
|
|||
|
||||
session.error(
|
||||
`Rule "${ name }" is already defined at line ${ start.line }, column ${ start.column }.`,
|
||||
node.location
|
||||
node.location,
|
||||
);
|
||||
|
||||
}
|
||||
|
|
|
@ -44,7 +44,7 @@ function reportInfiniteRecursion( ast, session ) {
|
|||
|
||||
session.error(
|
||||
`Possible infinite loop when parsing (left recursion: ${ rulePath }).`,
|
||||
node.location
|
||||
node.location,
|
||||
);
|
||||
|
||||
}
|
||||
|
|
|
@ -11,7 +11,7 @@ function reportInfiniteRepetition( ast, session ) {
|
|||
|
||||
session.error(
|
||||
"Possible infinite loop when parsing (repetition used with an expression that may not consume any input).",
|
||||
node.location
|
||||
node.location,
|
||||
);
|
||||
|
||||
}
|
||||
|
@ -24,7 +24,7 @@ function reportInfiniteRepetition( ast, session ) {
|
|||
|
||||
session.error(
|
||||
"Possible infinite loop when parsing (repetition used with an expression that may not consume any input).",
|
||||
node.location
|
||||
node.location,
|
||||
);
|
||||
|
||||
}
|
||||
|
|
|
@ -10,7 +10,7 @@ function reportUndefinedRules( ast, session, options ) {
|
|||
|
||||
session.error(
|
||||
`Rule "${ node.name }" is not defined.`,
|
||||
node.location
|
||||
node.location,
|
||||
);
|
||||
|
||||
}
|
||||
|
|
|
@ -19,7 +19,7 @@ function reportUnusedRules( ast, session, options ) {
|
|||
|
||||
session.warn(
|
||||
`Rule "${ rule.name }" is not referenced.`,
|
||||
rule.location
|
||||
rule.location,
|
||||
);
|
||||
|
||||
}
|
||||
|
|
|
@ -44,7 +44,7 @@ const peg = {
|
|||
return compiler.compile(
|
||||
session.parse( grammar, options.parser || {} ),
|
||||
session,
|
||||
options
|
||||
options,
|
||||
);
|
||||
|
||||
},
|
||||
|
|
|
@ -39,7 +39,7 @@ const js = {
|
|||
return sourceEscape(
|
||||
s
|
||||
.replace( /\\/g, "\\\\" ) // backslash
|
||||
.replace( /"/g, "\\\"" ) // closing double quote
|
||||
.replace( /"/g, "\\\"" ), // closing double quote
|
||||
);
|
||||
|
||||
},
|
||||
|
@ -57,7 +57,7 @@ const js = {
|
|||
.replace( /\//g, "\\/" ) // closing slash
|
||||
.replace( /]/g, "\\]" ) // closing bracket
|
||||
.replace( /\^/g, "\\^" ) // caret
|
||||
.replace( /-/g, "\\-" ) // dash
|
||||
.replace( /-/g, "\\-" ), // dash
|
||||
);
|
||||
|
||||
},
|
||||
|
|
|
@ -29,7 +29,7 @@ describe( "generated parser behavior", function () {
|
|||
|
||||
block( peg.util.clone( variant ) );
|
||||
|
||||
}
|
||||
},
|
||||
);
|
||||
|
||||
} );
|
||||
|
@ -71,7 +71,7 @@ describe( "generated parser behavior", function () {
|
|||
"expected #{this} to not parse input as #{exp}",
|
||||
expected,
|
||||
result,
|
||||
! utils.flag( this, "negate" )
|
||||
! utils.flag( this, "negate" ),
|
||||
);
|
||||
|
||||
}
|
||||
|
@ -102,7 +102,7 @@ describe( "generated parser behavior", function () {
|
|||
"expected #{this} to fail to parse input but got #{act}",
|
||||
"expected #{this} to not fail to parse input but #{act} was thrown",
|
||||
null,
|
||||
result
|
||||
result,
|
||||
);
|
||||
|
||||
if ( ! passed && typeof props !== "undefined" ) {
|
||||
|
@ -556,7 +556,7 @@ describe( "generated parser behavior", function () {
|
|||
|
||||
const parser = peg.generate(
|
||||
"start = a:'a' &{ return a === 'a'; }",
|
||||
options
|
||||
options,
|
||||
);
|
||||
|
||||
expect( parser ).to.parse( "a" );
|
||||
|
@ -567,7 +567,7 @@ describe( "generated parser behavior", function () {
|
|||
|
||||
const parser = peg.generate(
|
||||
"start = 'a' b:&{ return b === undefined; } 'c'",
|
||||
options
|
||||
options,
|
||||
);
|
||||
|
||||
expect( parser ).to.failToParse( "ac" );
|
||||
|
@ -578,7 +578,7 @@ describe( "generated parser behavior", function () {
|
|||
|
||||
const parser = peg.generate(
|
||||
"start = &{ return a === 'a'; } a:'a'",
|
||||
options
|
||||
options,
|
||||
);
|
||||
|
||||
expect( parser ).to.failToParse( "a" );
|
||||
|
@ -651,7 +651,7 @@ describe( "generated parser behavior", function () {
|
|||
|
||||
const parser = peg.generate(
|
||||
"start = a:'a' ('b' &{ return a === 'a'; })",
|
||||
options
|
||||
options,
|
||||
);
|
||||
|
||||
expect( parser ).to.parse( "ab" );
|
||||
|
@ -662,7 +662,7 @@ describe( "generated parser behavior", function () {
|
|||
|
||||
const parser = peg.generate(
|
||||
"start = 'a' b:('b' &{ return b === undefined; }) 'c'",
|
||||
options
|
||||
options,
|
||||
);
|
||||
|
||||
expect( parser ).to.failToParse( "abc" );
|
||||
|
@ -673,7 +673,7 @@ describe( "generated parser behavior", function () {
|
|||
|
||||
const parser = peg.generate(
|
||||
"start = ('a' &{ return b === 'b'; }) b:'b'",
|
||||
options
|
||||
options,
|
||||
);
|
||||
|
||||
expect( parser ).to.failToParse( "ab" );
|
||||
|
@ -815,7 +815,7 @@ describe( "generated parser behavior", function () {
|
|||
|
||||
const parser = peg.generate(
|
||||
"start = a:'a' !{ return a !== 'a'; }",
|
||||
options
|
||||
options,
|
||||
);
|
||||
|
||||
expect( parser ).to.parse( "a" );
|
||||
|
@ -826,7 +826,7 @@ describe( "generated parser behavior", function () {
|
|||
|
||||
const parser = peg.generate(
|
||||
"start = 'a' b:!{ return b !== undefined; } 'c'",
|
||||
options
|
||||
options,
|
||||
);
|
||||
|
||||
expect( parser ).to.failToParse( "ac" );
|
||||
|
@ -837,7 +837,7 @@ describe( "generated parser behavior", function () {
|
|||
|
||||
const parser = peg.generate(
|
||||
"start = !{ return a !== 'a'; } a:'a'",
|
||||
options
|
||||
options,
|
||||
);
|
||||
|
||||
expect( parser ).to.failToParse( "a" );
|
||||
|
@ -910,7 +910,7 @@ describe( "generated parser behavior", function () {
|
|||
|
||||
const parser = peg.generate(
|
||||
"start = a:'a' ('b' !{ return a !== 'a'; })",
|
||||
options
|
||||
options,
|
||||
);
|
||||
|
||||
expect( parser ).to.parse( "ab" );
|
||||
|
@ -921,7 +921,7 @@ describe( "generated parser behavior", function () {
|
|||
|
||||
const parser = peg.generate(
|
||||
"start = 'a' b:('b' !{ return b !== undefined; }) 'c'",
|
||||
options
|
||||
options,
|
||||
);
|
||||
|
||||
expect( parser ).to.failToParse( "abc" );
|
||||
|
@ -932,7 +932,7 @@ describe( "generated parser behavior", function () {
|
|||
|
||||
const parser = peg.generate(
|
||||
"start = ('a' !{ return b !== 'b'; }) b:'b'",
|
||||
options
|
||||
options,
|
||||
);
|
||||
|
||||
expect( parser ).to.failToParse( "ab" );
|
||||
|
@ -1482,7 +1482,7 @@ describe( "generated parser behavior", function () {
|
|||
|
||||
const parser = peg.generate(
|
||||
"start = a:'a' b:'b' c:'c' { return [a, b, c]; }",
|
||||
options
|
||||
options,
|
||||
);
|
||||
|
||||
expect( parser ).to.parse( "abc", [ "a", "b", "c" ] );
|
||||
|
@ -1555,7 +1555,7 @@ describe( "generated parser behavior", function () {
|
|||
|
||||
const parser = peg.generate(
|
||||
"start = a:'a' ('b' { return a; })",
|
||||
options
|
||||
options,
|
||||
);
|
||||
|
||||
expect( parser ).to.parse( "ab", [ "a", "a" ] );
|
||||
|
@ -1566,7 +1566,7 @@ describe( "generated parser behavior", function () {
|
|||
|
||||
const parser = peg.generate(
|
||||
"start = 'a' b:('b' { return b; }) c:'c'",
|
||||
options
|
||||
options,
|
||||
);
|
||||
|
||||
expect( parser ).to.failToParse( "abc" );
|
||||
|
@ -1577,7 +1577,7 @@ describe( "generated parser behavior", function () {
|
|||
|
||||
const parser = peg.generate(
|
||||
"start = ('a' { return b; }) b:'b'",
|
||||
options
|
||||
options,
|
||||
);
|
||||
|
||||
expect( parser ).to.failToParse( "ab" );
|
||||
|
@ -1620,7 +1620,7 @@ describe( "generated parser behavior", function () {
|
|||
|
||||
const parser = peg.generate(
|
||||
"start = 'a' { return options; }",
|
||||
options
|
||||
options,
|
||||
);
|
||||
|
||||
expect( parser ).to.parse( "a", { a: 42 }, { a: 42 } );
|
||||
|
@ -1631,7 +1631,7 @@ describe( "generated parser behavior", function () {
|
|||
|
||||
const parser = peg.generate(
|
||||
"start = 'a' { return text(); }",
|
||||
options
|
||||
options,
|
||||
);
|
||||
|
||||
expect( parser ).to.parse( "a", "a" );
|
||||
|
@ -1673,7 +1673,7 @@ describe( "generated parser behavior", function () {
|
|||
|
||||
const parser = peg.generate(
|
||||
"start = 'a' { expected('a'); }",
|
||||
options
|
||||
options,
|
||||
);
|
||||
|
||||
expect( parser ).to.failToParse( "a", {
|
||||
|
@ -1719,7 +1719,7 @@ describe( "generated parser behavior", function () {
|
|||
|
||||
const parser = peg.generate(
|
||||
"start = 'a' { error('a'); }",
|
||||
options
|
||||
options,
|
||||
);
|
||||
|
||||
expect( parser ).to.failToParse( "a", {
|
||||
|
@ -1777,7 +1777,7 @@ describe( "generated parser behavior", function () {
|
|||
|
||||
const parser = peg.generate(
|
||||
"start = 'a' { throw 'Boom!'; } / 'b'",
|
||||
options
|
||||
options,
|
||||
);
|
||||
|
||||
expect( parser ).to.parse( "b" );
|
||||
|
@ -2195,7 +2195,7 @@ describe( "generated parser behavior", function () {
|
|||
expect( parser ).to.parse( "(*(**)*)", "(*(**)*)" );
|
||||
expect( parser ).to.parse(
|
||||
"(*abc(*def*)ghi(*(*(*jkl*)*)*)mno*)",
|
||||
"(*abc(*def*)ghi(*(*(*jkl*)*)*)mno*)"
|
||||
"(*abc(*def*)ghi(*(*(*jkl*)*)*)mno*)",
|
||||
);
|
||||
|
||||
} );
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
/* eslint-disable function-call-argument-newline */
|
||||
|
||||
"use strict";
|
||||
|
||||
const chai = require( "chai" );
|
||||
|
@ -63,7 +61,7 @@ describe( "compiler pass |generateBytecode|", function () {
|
|||
{ type: "literal", value: "b", ignoreCase: false },
|
||||
{ type: "literal", value: "c", ignoreCase: false },
|
||||
],
|
||||
[]
|
||||
[],
|
||||
) );
|
||||
|
||||
} );
|
||||
|
@ -119,19 +117,19 @@ describe( "compiler pass |generateBytecode|", function () {
|
|||
[],
|
||||
[],
|
||||
[ { type: "rule", value: "start" } ],
|
||||
[]
|
||||
[],
|
||||
) );
|
||||
expect( pass ).to.changeAST( grammar2, constsDetails(
|
||||
[ "a" ],
|
||||
[],
|
||||
[ { type: "rule", value: "start" } ],
|
||||
[]
|
||||
[],
|
||||
) );
|
||||
expect( pass ).to.changeAST( grammar3, constsDetails(
|
||||
[],
|
||||
[ { value: [ "a" ], inverted: false, ignoreCase: false } ],
|
||||
[ { type: "rule", value: "start" } ],
|
||||
[]
|
||||
[],
|
||||
) );
|
||||
|
||||
} );
|
||||
|
@ -209,7 +207,7 @@ describe( "compiler pass |generateBytecode|", function () {
|
|||
[ "a" ],
|
||||
[],
|
||||
[ { type: "literal", value: "a", ignoreCase: false } ],
|
||||
[ { predicate: false, params: [], body: " code " } ]
|
||||
[ { predicate: false, params: [], body: " code " } ],
|
||||
) );
|
||||
|
||||
} );
|
||||
|
@ -239,7 +237,7 @@ describe( "compiler pass |generateBytecode|", function () {
|
|||
[ "a" ],
|
||||
[],
|
||||
[ { type: "literal", value: "a", ignoreCase: false } ],
|
||||
[ { predicate: false, params: [ "a" ], body: " code " } ]
|
||||
[ { predicate: false, params: [ "a" ], body: " code " } ],
|
||||
) );
|
||||
|
||||
} );
|
||||
|
@ -285,7 +283,7 @@ describe( "compiler pass |generateBytecode|", function () {
|
|||
{ type: "literal", value: "b", ignoreCase: false },
|
||||
{ type: "literal", value: "c", ignoreCase: false },
|
||||
],
|
||||
[ { predicate: false, params: [ "a", "b", "c" ], body: " code " } ]
|
||||
[ { predicate: false, params: [ "a", "b", "c" ], body: " code " } ],
|
||||
) );
|
||||
|
||||
} );
|
||||
|
@ -333,7 +331,7 @@ describe( "compiler pass |generateBytecode|", function () {
|
|||
{ type: "literal", value: "b", ignoreCase: false },
|
||||
{ type: "literal", value: "c", ignoreCase: false },
|
||||
],
|
||||
[]
|
||||
[],
|
||||
) );
|
||||
|
||||
} );
|
||||
|
@ -441,7 +439,7 @@ describe( "compiler pass |generateBytecode|", function () {
|
|||
[ "a" ],
|
||||
[],
|
||||
[ { type: "literal", value: "a", ignoreCase: false } ],
|
||||
[]
|
||||
[],
|
||||
) );
|
||||
|
||||
} );
|
||||
|
@ -476,7 +474,7 @@ describe( "compiler pass |generateBytecode|", function () {
|
|||
[ "a" ],
|
||||
[],
|
||||
[ { type: "literal", value: "a", ignoreCase: false } ],
|
||||
[]
|
||||
[],
|
||||
) );
|
||||
|
||||
} );
|
||||
|
@ -504,7 +502,7 @@ describe( "compiler pass |generateBytecode|", function () {
|
|||
[ "a" ],
|
||||
[],
|
||||
[ { type: "literal", value: "a", ignoreCase: false } ],
|
||||
[]
|
||||
[],
|
||||
) );
|
||||
|
||||
} );
|
||||
|
@ -534,7 +532,7 @@ describe( "compiler pass |generateBytecode|", function () {
|
|||
[ "a" ],
|
||||
[],
|
||||
[ { type: "literal", value: "a", ignoreCase: false } ],
|
||||
[]
|
||||
[],
|
||||
) );
|
||||
|
||||
} );
|
||||
|
@ -568,7 +566,7 @@ describe( "compiler pass |generateBytecode|", function () {
|
|||
[ "a" ],
|
||||
[],
|
||||
[ { type: "literal", value: "a", ignoreCase: false } ],
|
||||
[]
|
||||
[],
|
||||
) );
|
||||
|
||||
} );
|
||||
|
@ -593,7 +591,7 @@ describe( "compiler pass |generateBytecode|", function () {
|
|||
[ "a" ],
|
||||
[],
|
||||
[ { type: "literal", value: "a", ignoreCase: false } ],
|
||||
[]
|
||||
[],
|
||||
) );
|
||||
|
||||
} );
|
||||
|
@ -624,7 +622,7 @@ describe( "compiler pass |generateBytecode|", function () {
|
|||
|
||||
expect( pass ).to.changeAST(
|
||||
grammar,
|
||||
constsDetails( [], [], [], [ { predicate: true, params: [], body: " code " } ] )
|
||||
constsDetails( [], [], [], [ { predicate: true, params: [], body: " code " } ] ),
|
||||
);
|
||||
|
||||
} );
|
||||
|
@ -681,7 +679,7 @@ describe( "compiler pass |generateBytecode|", function () {
|
|||
{ type: "literal", value: "b", ignoreCase: false },
|
||||
{ type: "literal", value: "c", ignoreCase: false },
|
||||
],
|
||||
[ { predicate: true, params: [ "a", "b", "c" ], body: " code " } ]
|
||||
[ { predicate: true, params: [ "a", "b", "c" ], body: " code " } ],
|
||||
) );
|
||||
|
||||
} );
|
||||
|
@ -714,7 +712,7 @@ describe( "compiler pass |generateBytecode|", function () {
|
|||
|
||||
expect( pass ).to.changeAST(
|
||||
grammar,
|
||||
constsDetails( [], [], [], [ { predicate: true, params: [], body: " code " } ] )
|
||||
constsDetails( [], [], [], [ { predicate: true, params: [], body: " code " } ] ),
|
||||
);
|
||||
|
||||
} );
|
||||
|
@ -771,7 +769,7 @@ describe( "compiler pass |generateBytecode|", function () {
|
|||
{ type: "literal", value: "b", ignoreCase: false },
|
||||
{ type: "literal", value: "c", ignoreCase: false },
|
||||
],
|
||||
[ { predicate: true, params: [ "a", "b", "c" ], body: " code " } ]
|
||||
[ { predicate: true, params: [ "a", "b", "c" ], body: " code " } ],
|
||||
) );
|
||||
|
||||
} );
|
||||
|
@ -845,7 +843,7 @@ describe( "compiler pass |generateBytecode|", function () {
|
|||
[ "a" ],
|
||||
[],
|
||||
[ { type: "literal", value: "a", ignoreCase: false } ],
|
||||
[]
|
||||
[],
|
||||
) );
|
||||
|
||||
} );
|
||||
|
@ -873,7 +871,7 @@ describe( "compiler pass |generateBytecode|", function () {
|
|||
[ "a" ],
|
||||
[],
|
||||
[ { type: "literal", value: "A", ignoreCase: true } ],
|
||||
[]
|
||||
[],
|
||||
) );
|
||||
|
||||
} );
|
||||
|
@ -975,7 +973,7 @@ describe( "compiler pass |generateBytecode|", function () {
|
|||
[],
|
||||
[ { value: [ "a" ], inverted: false, ignoreCase: false } ],
|
||||
[ { type: "class", value: [ "a" ], inverted: false, ignoreCase: false } ],
|
||||
[]
|
||||
[],
|
||||
) );
|
||||
|
||||
} );
|
||||
|
@ -990,7 +988,7 @@ describe( "compiler pass |generateBytecode|", function () {
|
|||
[],
|
||||
[ { value: [ "a" ], inverted: true, ignoreCase: false } ],
|
||||
[ { type: "class", value: [ "a" ], inverted: true, ignoreCase: false } ],
|
||||
[]
|
||||
[],
|
||||
) );
|
||||
|
||||
} );
|
||||
|
@ -1005,7 +1003,7 @@ describe( "compiler pass |generateBytecode|", function () {
|
|||
[],
|
||||
[ { value: [ "a" ], inverted: false, ignoreCase: true } ],
|
||||
[ { type: "class", value: [ "a" ], inverted: false, ignoreCase: true } ],
|
||||
[]
|
||||
[],
|
||||
) );
|
||||
|
||||
} );
|
||||
|
@ -1033,7 +1031,7 @@ describe( "compiler pass |generateBytecode|", function () {
|
|||
ignoreCase: false,
|
||||
},
|
||||
],
|
||||
[]
|
||||
[],
|
||||
) );
|
||||
|
||||
} );
|
||||
|
@ -1098,7 +1096,7 @@ describe( "compiler pass |generateBytecode|", function () {
|
|||
},
|
||||
],
|
||||
[],
|
||||
[]
|
||||
[],
|
||||
), {}, { reportFailures: false } );
|
||||
|
||||
} );
|
||||
|
@ -1130,7 +1128,7 @@ describe( "compiler pass |generateBytecode|", function () {
|
|||
|
||||
expect( pass ).to.changeAST(
|
||||
grammar,
|
||||
constsDetails( [], [], [ { type: "any" } ], [] )
|
||||
constsDetails( [], [], [ { type: "any" } ], [] ),
|
||||
);
|
||||
|
||||
} );
|
||||
|
@ -1157,7 +1155,7 @@ describe( "compiler pass |generateBytecode|", function () {
|
|||
grammar,
|
||||
constsDetails( [], [], [], [] ),
|
||||
{},
|
||||
{ reportFailures: false }
|
||||
{ reportFailures: false },
|
||||
);
|
||||
|
||||
} );
|
||||
|
|
|
@ -67,7 +67,7 @@ module.exports = function ( chai, utils ) {
|
|||
"expected #{this} to report an error but it didn't",
|
||||
"expected #{this} to not report an error but #{act} was reported",
|
||||
null,
|
||||
result
|
||||
result,
|
||||
);
|
||||
|
||||
if ( ! passed && typeof props !== "undefined" ) {
|
||||
|
@ -118,7 +118,7 @@ module.exports = function ( chai, utils ) {
|
|||
`expected #{this} to report ${ warningsCount } warnings, but it reported ${ messagesCount } warnings`,
|
||||
`expected #{this} to not report ${ warningsCount } warnings`,
|
||||
warnings,
|
||||
messages
|
||||
messages,
|
||||
);
|
||||
|
||||
warnings.forEach( warning => {
|
||||
|
@ -127,7 +127,7 @@ module.exports = function ( chai, utils ) {
|
|||
messages.indexOf( warning ) !== -1,
|
||||
"expected #{this} to report the warning #{exp}, but it didn't",
|
||||
"expected #{this} to not report the warning #{exp}",
|
||||
warning
|
||||
warning,
|
||||
);
|
||||
|
||||
} );
|
||||
|
|
|
@ -141,19 +141,19 @@ describe( "compiler pass |inferenceMatchResult|", function () {
|
|||
[ "start = end", "end = . " ].join( "\n" ),
|
||||
{ rules: [ { match: 0 }, { match: 0 } ] },
|
||||
{},
|
||||
{}
|
||||
{},
|
||||
);
|
||||
expect( pass ).to.changeAST(
|
||||
[ "start = end", "end = ''" ].join( "\n" ),
|
||||
{ rules: [ { match: 1 }, { match: 1 } ] },
|
||||
{},
|
||||
{}
|
||||
{},
|
||||
);
|
||||
expect( pass ).to.changeAST(
|
||||
[ "start = end", "end = []" ].join( "\n" ),
|
||||
{ rules: [ { match: -1 }, { match: -1 } ] },
|
||||
{},
|
||||
{}
|
||||
{},
|
||||
);
|
||||
|
||||
expect( pass ).to.changeAST( "start = . start", { rules: [ { match: 0 } ] }, {}, {} );
|
||||
|
|
|
@ -29,7 +29,7 @@ describe( "compiler pass |removeProxyRules|", function () {
|
|||
{ name: "proxied" },
|
||||
],
|
||||
},
|
||||
{ allowedStartRules: [ "start" ] }
|
||||
{ allowedStartRules: [ "start" ] },
|
||||
);
|
||||
|
||||
} );
|
||||
|
@ -59,7 +59,7 @@ describe( "compiler pass |removeProxyRules|", function () {
|
|||
{ name: "proxied" },
|
||||
],
|
||||
},
|
||||
{ allowedStartRules: [ "start", "proxy" ] }
|
||||
{ allowedStartRules: [ "start", "proxy" ] },
|
||||
);
|
||||
|
||||
} );
|
||||
|
|
|
@ -31,7 +31,7 @@ describe( "compiler pass |reportUndefinedRules|", function () {
|
|||
},
|
||||
{
|
||||
allowedStartRules: [ "missing" ],
|
||||
}
|
||||
},
|
||||
);
|
||||
|
||||
} );
|
||||
|
|
|
@ -17,7 +17,7 @@ describe( "compiler pass |reportUnusedRules|", function () {
|
|||
start = .
|
||||
unused = .
|
||||
`,
|
||||
`Rule "unused" is not referenced.`
|
||||
`Rule "unused" is not referenced.`,
|
||||
);
|
||||
|
||||
expect( pass ).to.reportWarning(
|
||||
|
@ -29,7 +29,7 @@ describe( "compiler pass |reportUnusedRules|", function () {
|
|||
[
|
||||
`Rule "used" is not referenced.`,
|
||||
`Rule "unused" is not referenced.`,
|
||||
]
|
||||
],
|
||||
);
|
||||
|
||||
} );
|
||||
|
@ -56,7 +56,7 @@ describe( "compiler pass |reportUnusedRules|", function () {
|
|||
null,
|
||||
{
|
||||
allowedStartRules: [ "b", "c" ],
|
||||
}
|
||||
},
|
||||
);
|
||||
|
||||
} );
|
||||
|
|
|
@ -24,7 +24,7 @@ function varyParserOptions( block ) {
|
|||
|
||||
describe(
|
||||
"with options " + chai.util.inspect( variant ),
|
||||
() => block( variant )
|
||||
() => block( variant ),
|
||||
);
|
||||
|
||||
} );
|
||||
|
@ -103,7 +103,7 @@ describe( "PEG.js grammar parser", function () {
|
|||
function actionGrammar( code ) {
|
||||
|
||||
return oneRuleGrammar(
|
||||
{ type: "action", expression: literalAbcd, code: code }
|
||||
{ type: "action", expression: literalAbcd, code: code },
|
||||
);
|
||||
|
||||
}
|
||||
|
@ -111,7 +111,7 @@ describe( "PEG.js grammar parser", function () {
|
|||
function literalGrammar( value, ignoreCase ) {
|
||||
|
||||
return oneRuleGrammar(
|
||||
{ type: "literal", value: value, ignoreCase: ignoreCase }
|
||||
{ type: "literal", value: value, ignoreCase: ignoreCase },
|
||||
);
|
||||
|
||||
}
|
||||
|
@ -260,7 +260,7 @@ describe( "PEG.js grammar parser", function () {
|
|||
"expected #{this} to not parse as #{exp}",
|
||||
expected,
|
||||
result,
|
||||
! utils.flag( this, "negate" )
|
||||
! utils.flag( this, "negate" ),
|
||||
);
|
||||
|
||||
} );
|
||||
|
@ -292,7 +292,7 @@ describe( "PEG.js grammar parser", function () {
|
|||
"expected #{this} to fail to parse but got #{act}",
|
||||
"expected #{this} to not fail to parse but it failed with #{act}",
|
||||
null,
|
||||
result
|
||||
result,
|
||||
|