-/**
- * IMPORTEE: Number, Op, Paren, Id, Str, Comment,
- */
-let IMPORTEE = p.alt(p.tok(TokenKind.Number),
- p.tok(TokenKind.Op),
- p.tok(TokenKind.Paren),
- p.tok(TokenKind.Id),
- p.tok(TokenKind.Str),
- p.tok(TokenKind.SpaceNL),
- p.tok(TokenKind.Comment));
-
-let NOT_AT = p.alt(p.tok(TokenKind.Seperator),
- p.tok(TokenKind.Semicolon),
- p.tok(TokenKind.Number),
- p.tok(TokenKind.ExcapeAt),
- p.tok(TokenKind.Op),
- p.tok(TokenKind.Paren),
- p.tok(TokenKind.SpaceNL),
- p.tok(TokenKind.Id),
- p.tok(TokenKind.Str),
- p.tok(TokenKind.Comment),
- );
-
-/**
- * PROG : IMPORTS '---' CONTENT;
- */
-PROG.setPattern(
- p.lrec_sc(IMPORTS, p.seq(p.str('---'), CONTENT), applyParts)
-
-)
-
-/**
- * NOT_AT_TEXT : NOT_AT
- */
-NOT_AT_TEXT.setPattern(
- p.apply(NOT_AT, applyNotAtText)
-);
-
-IMPORTS.setPattern(
- p.apply( p.seq(IMPORT, p.rep(IMPORT)), applyImports)
-);
-
-/**
- * IMPORT :
- * 'import' IMPORTEE* SEMICOLON |
- * COMMENT |
- */
-IMPORT.setPattern(
- p.alt(
- p.apply(p.seq(p.str('import'), p.rep_sc(IMPORTEE), SEMICOLON),
- applyImport),
- p.apply(p.tok(TokenKind.Comment), applyComment),
- p.apply(p.tok(TokenKind.SpaceNL), applySpaceNL)
-
- )
-);
-
-/**
- * SEMICOLON : ';';
- */
-SEMICOLON.setPattern(
- p.apply(p.tok(TokenKind.Semicolon), applySemiColon)
-);
-
-
-
-/**
- * SEGMENT : '@' NOT_AT* '@' |
- * (NOT_AT_TEXT | EXCAPE_AT)*
- */
-SEGMENT.setPattern(
- p.alt(
- p.apply(p.rep_sc(NOT_AT_TEXT), applyText),
- p.apply(p.seq(p.str('@'), p.rep(NOT_AT), p.str('@')), applySegment),
- )
-);
-
-/**
- * CONTENT : SEGMENT*
- */
-CONTENT.setPattern(
- p.apply(p.rep(SEGMENT), applyContent)
-);
-