lang

package
v0.3.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 29, 2025 License: MIT Imports: 0 Imported by: 0

Documentation

Overview

Package lang provides language definition, lexing, and parsing

Index

Constants

View Source
const (
	Dot         = `.`
	Quote       = `'`
	Splice      = `,@`
	SyntaxQuote = "`"
	Unquote     = `,`
	Space       = ` `

	BlockCommentStart = `#|`
	BlockCommentEnd   = `|#`

	ListEnd     = `)`
	ListStart   = `(`
	ObjectEnd   = `}`
	ObjectStart = `{`
	VectorEnd   = `]`
	VectorStart = `[`
	BytesStart  = ReaderPrefix + `b` + VectorStart
	BytesEnd    = VectorEnd

	TrueLiteral  = ReaderPrefix + `t`
	FalseLiteral = ReaderPrefix + `f`

	KwdPrefix    = `:`
	Keyword      = KwdPrefix + notStruct + `+`
	ReaderPrefix = `#`
	Preprocessor = ReaderPrefix + notStruct + `*`
	Identifier   = notStructPfx + notStruct + `*`

	// DomainSeparator is the character used to separate a domain from the
	// local component of a qualified symbol
	DomainSeparator = `/`

	Local     = `(` + DomainSeparator + `|(` + localStart + localCont + `))`
	Qualified = `(` + localStart + localCont + DomainSeparator + Local + `)`

	Comment    = `;[^\n]*([\n]|$)`
	NewLine    = `(\r\n|[\n\r])`
	Whitespace = `[\t\f ]+`

	StringQuote = `"`
	String      = `(")(?P<s>(\\\\|\\"|\\[^\\"]|[^"\\])*)("?)`

	Float = `[+-]?((0|[1-9]\d*)\.\d+([eE][+-]?\d+)?|` +
		`(0|[1-9]\d*)(\.\d+)?[eE][+-]?\d+)` + numTail

	Integer = `[+-]?(0[bB]\d+|0[xX][\dA-Fa-f]+|0\d*|[1-9]\d*)` + numTail

	Ratio = `[+-]?(0|[1-9]\d*)/[1-9]\d*` + numTail
)

Variables

This section is empty.

Functions

This section is empty.

Types

This section is empty.

Directories

Path Synopsis
Package env provides environment definitions for the language.
Package env provides environment definitions for the language.
Package lex provides the Ale lexer language tokenizer
Package lex provides the Ale lexer language tokenizer
Package params provides Ale language parameter parsing
Package params provides Ale language parameter parsing
Package parse provides Ale language parsing functionality
Package parse provides Ale language parsing functionality

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL