给出以下Nearley代码:
@builtin "whitespace.ne"
@{%
let numberedParams = {
3: 45
};
const lexer = require("moo").compile({
comment: /\(.*?\)/,
expstart: /\[/,
expend: /\]/,
paramstart: '#',
equals: "=",
operator: /\*\*|\+|\-|\*|\/|OR|XOR|AND|MOD|EQ|NE|GT|GE|LT|LE/,
function: ['ATAN','ABS','ACOS','ASIN','COS','EXP','FIX','FUP','ROUND','LN','SIN','SQRT','TAN','EXISTS'],
linenumber_command: 'N',
command: /[ABCDFGHIJKLMPQRSTUVWXYZ]/,
float: /[0-9]*\.[0-9]+/,
int: /[0-9]+/,
ws: /[ \t]+/,
EOL: {match: /(?:\r\n?|\n)/, lineBreaks: true }
});
// Converts from degrees to radians.
Math.radians = function(degrees) {
return degrees * Math.PI / 180;
};
// Converts from radians to degrees.
Math.degrees = function(radians) {
return radians * 180 / Math.PI; …Run Code Online (Sandbox Code Playgroud)