Parse single instruction in neutral text

This commit is contained in:
2025-09-07 21:20:32 -06:00
parent 5ba25d4270
commit 925e486e65
15 changed files with 482 additions and 18 deletions

41
ldtext/Parser.fsi Normal file
View File

@@ -0,0 +1,41 @@
// Signature file for parser generated by fsyacc
module Parser
type token =
| EOF
| QUESTION_MARK
| SEMICOLON
| COMMA
| RIGHT_BRACKET
| LEFT_BRACKET
| RIGHT_PAREN
| LEFT_PAREN
| IDENTIFIER of (string)
type tokenId =
| TOKEN_EOF
| TOKEN_QUESTION_MARK
| TOKEN_SEMICOLON
| TOKEN_COMMA
| TOKEN_RIGHT_BRACKET
| TOKEN_LEFT_BRACKET
| TOKEN_RIGHT_PAREN
| TOKEN_LEFT_PAREN
| TOKEN_IDENTIFIER
| TOKEN_end_of_input
| TOKEN_error
type nonTerminalId =
| NONTERM__startinstr
| NONTERM_instr
| NONTERM_operands
| NONTERM_operand
/// This function maps tokens to integer indexes
val tagOfToken: token -> int
/// This function maps integer indexes to symbolic token ids
val tokenTagToTokenId: int -> tokenId
/// This function maps production indexes returned in syntax errors to strings representing the non terminal that would be produced by that production
val prodIdxToNonTerminal: int -> nonTerminalId
/// This function gets the name of a token as a string
val token_to_string: token -> string
val instr : (FSharp.Text.Lexing.LexBuffer<'cty> -> token) -> FSharp.Text.Lexing.LexBuffer<'cty> -> (Instr)