1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 | import { Token } from "moo";
|
7 | import * as ast from "./ast";
|
8 | import * as parsed from "./parsedsyntax";
|
9 | export declare function Identifier([{value, text, offset, lineBreaks, line, col}]: Token[]): ast.Identifier;
|
10 | export declare function IntType([tok]: [Token]): ast.IntType;
|
11 | export declare function BoolType([tok]: [Token]): ast.BoolType;
|
12 | export declare function StringType([tok]: [Token]): ast.StringType;
|
13 | export declare function CharType([tok]: [Token]): ast.CharType;
|
14 | export declare function VoidType([tok]: [Token]): ast.VoidType;
|
15 | export declare function PointerType([tp, s, tok]: [ast.Type, any, Token]): ast.PointerType;
|
16 | export declare function ArrayType([tp, s1, l, s2, r]: [ast.Type, any, Token, any, Token]): ast.ArrayType;
|
17 | export declare function StructType([str, s, id]: [Token, any, ast.Identifier]): ast.StructType;
|
18 | export declare function IntLiteral([{value, text, offset, lineBreaks, line, col}]: Token[]): parsed.IntLiteral;
|
19 | export declare function CharLiteral([[start, [tok], end]]: [[Token, [Token], Token]]): parsed.CharLiteral;
|
20 | export declare function StringLiteral([[start, toks, end]]: [[Token, [Token][], Token]]): parsed.StringLiteral;
|
21 | export declare function BoolLiteral([t]: [Token]): ast.BoolLiteral;
|
22 | export declare function NullLiteral(): ast.NullLiteral;
|
23 | export declare function ArrayMemberExpression([object, s1, l, s2, index, s3, r]: [parsed.Expression, any, Token, any, parsed.Expression, any, Token]): parsed.ArrayMemberExpression;
|
24 | export declare type Arguments = [Token, any, null | [parsed.Expression, any, [Token, any, parsed.Expression][]], Token];
|
25 | export declare function Arguments([l, s1, args, r]: Arguments): parsed.Expression[];
|
26 | export declare function StructMemberExpression([object, s1, deref, s2, field]: [parsed.Expression, any, [Token, Token] | Token, any, ast.Identifier]): parsed.StructMemberExpression;
|
27 | export declare function CallExpression([f, ws, args]: [ast.Identifier, any, Arguments]): parsed.CallExpression;
|
28 | export declare function IndirectCallExpression([l, s1, s, s2, f, s3, r, s4, args]: [Token, any, Token, any, parsed.Expression, any, Token, any, Arguments]): parsed.IndirectCallExpression;
|
29 | export declare function UnaryExpression([operator, s, argument]: [any[], Token, parsed.Expression]): parsed.UnaryExpression | parsed.CastExpression;
|
30 | export declare function BinaryExpression([left, s1, opertoks, s2, right]: [parsed.Expression, any, Token[], any, parsed.Expression]): parsed.BinaryExpression | parsed.LogicalExpression | parsed.AssignmentExpression;
|
31 | export declare function ConditionalExpression([test, s1, op1, s2, consequent, s3, op2, s4, alternate]: [parsed.Expression, any, any, any, parsed.Expression, any, any, any, parsed.Expression]): parsed.ConditionalExpression;
|
32 | export declare function AllocExpression([alloc, s1, l, s2, typ, s3, r]: [Token, any, Token, any, ast.Type, any, Token]): parsed.AllocExpression;
|
33 | export declare function AllocArrayExpression([alloc, s1, l, s2, typ, s3, c, s4, size, sp, r]: [Token, any, Token, any, ast.Type, any, Token, any, parsed.Expression, any, Token]): parsed.AllocArrayExpression;
|
34 | export declare function ResultExpression([b, res]: [Token, Token]): parsed.ResultExpression;
|
35 | export declare function LengthExpression([b, length, s1, l, s2, argument, s3, r]: [Token, Token, any, Token, any, parsed.Expression, any, Token]): parsed.LengthExpression;
|
36 | export declare function HasTagExpression([b, hastag, s1, l, s2, typ, s3, c, s4, argument, s5, r]: [Token, Token, any, Token, any, ast.Type, any, Token, any, parsed.Expression, any, Token]): parsed.HasTagExpression;
|
37 | export declare function UpdateExpression([argument, s1, op1, op2]: [parsed.Expression, any, Token, Token]): parsed.UpdateExpression;
|
38 | export declare function AssertExpression([assert, s1, l, s2, test, s3, r]: [Token, any, Token, any, parsed.Expression, any, Token]): parsed.AssertExpression;
|
39 | export declare function ErrorExpression([error, s1, l, s2, argument, s3, r]: [Token, any, Token, any, parsed.Expression, any, Token]): parsed.ErrorExpression;
|
40 | export declare type SimpleParsed = parsed.Expression | [ast.Type, any, ast.Identifier, null | [any, Token, any, parsed.Expression]];
|
41 | export declare function SimpleStatement([stm, s1, semi]: [SimpleParsed, any, Token]): parsed.VariableDeclaration | parsed.ExpressionStatement;
|
42 | export declare function IfStatement([i, s1, l, s2, test, s3, r, s4, [annos, consequent]]: [Token, any, Token, any, parsed.Expression, any, Token, any, [parsed.Anno[], parsed.Statement]]): parsed.IfStatement;
|
43 | export declare function IfElseStatement([i, s1, l1, s2, test, s3, r, annos1, s4, consequent, s5, e, annos2, s6, alternate]: [Token, any, Token, any, parsed.Expression, any, Token, parsed.Anno[], any, parsed.Statement, any, Token, parsed.Anno[], any, parsed.Statement]): parsed.IfStatement;
|
44 | export declare function WhileStatement([w, s1, l, s2, test, s3, r, annos, s4, body]: [Token, any, Token, any, parsed.Expression, any, Token, parsed.Anno[], any, parsed.Statement]): parsed.WhileStatement;
|
45 | export declare function ForStatement([f, s1, l, init, s2, semi1, s3, test, s4, semi2, update, s5, r, annos, s6, body]: [Token, any, Token, null | [any, SimpleParsed], any, Token, any, parsed.Expression, any, Token, null | [any, parsed.Expression], any, Token, parsed.Anno[], any, parsed.Statement]): parsed.ForStatement;
|
46 | export declare function ReturnStatement([r, argument, s1, semi]: [Token, null | [any, parsed.Expression], any, Token]): parsed.ReturnStatement;
|
47 | export declare function BlockStatement([l, stms, annos, s, r]: [Token, [any, [parsed.Anno[], parsed.Statement]][], [any, [parsed.Anno]][], any, Token]): parsed.BlockStatement;
|
48 | export declare function BreakStatement([stm, s1, semi]: [Token, any, Token]): ast.BreakStatement;
|
49 | export declare function ContinueStatement([stm, s1, semi]: [Token, any, Token]): ast.ContinueStatement;
|
50 | export declare function Anno1(annos: [Token, any, parsed.Anno[], any, Token] | [Token, any, parsed.Anno[], any, Token, any[], Token]): parsed.Anno[];
|
51 | export declare function FunctionDeclarationArgs([l, s1, params, r]: [Token, any, null | [ast.Type, any, ast.Identifier, any, [Token, any, ast.Type, any, ast.Identifier, any][]], Token]): parsed.VariableDeclarationOnly[];
|
52 | export declare function FunctionDeclaration([ty, s1, f, s2, args, annos, s3, def]: [ast.Type, any, ast.Identifier, any, ast.VariableDeclarationOnly[], parsed.Anno[], any, null | parsed.BlockStatement]): parsed.FunctionDeclaration;
|