nixd
Loading...
Searching...
No Matches
Namespaces | Classes | Typedefs | Enumerations | Functions
nixf Namespace Reference

Namespaces

namespace  detail
 
namespace  tok
 

Classes

class  Attribute
 
class  AttrName
 
class  AttrPath
 
class  Binding
 
class  Binds
 
class  Definition
 Represents a definition. More...
 
class  Diagnostic
 
class  Dot
 Holds a "." in the language. More...
 
class  EnvNode
 A set of variable definitions, which may inherit parent environment. More...
 
class  Expr
 
class  ExprAssert
 
class  ExprAttrs
 
class  ExprBinOp
 
class  ExprCall
 A call/apply to some function. More...
 
class  ExprFloat
 
class  ExprIf
 
class  ExprInt
 
class  ExprLambda
 
class  ExprLet
 
class  ExprList
 
class  ExprOp
 Abstract class for binary operators and unary operators. More...
 
class  ExprOpHasAttr
 
class  ExprParen
 
class  ExprPath
 
class  ExprSelect
 
class  ExprSPath
 
class  ExprString
 
class  ExprUnaryOp
 
class  ExprVar
 
class  ExprWith
 
class  Fix
 
class  Formal
 
class  Formals
 Lambda formal arguments. More...
 
class  Identifier
 Identifier. Variable names, attribute names, etc. More...
 
class  Inherit
 
class  InterpolablePart
 
class  InterpolatedParts
 
class  Interpolation
 ${expr} construct More...
 
class  LambdaArg
 
class  Lexer
 
class  LexerCursor
 A point in the source file. More...
 
class  LexerCursorRange
 
class  Misc
 Misc node, used for parentheses, keywords, etc. More...
 
class  Node
 
class  Note
 
class  Op
 
class  ParentMapAnalysis
 
class  Parser
 
class  PartialDiagnostic
 
class  Position
 
class  PositionRange
 
class  Sema
 
class  SemaAttrs
 Attribute set after deduplication. More...
 
class  TextEdit
 
class  Token
 A token. With it's kind, and the range in source code. More...
 
class  VariableLookupAnalysis
 

Typedefs

using NixInt = int64_t
 
using NixFloat = double
 

Enumerations

enum class  DiagnosticTag { Faded , Striked }
 

Functions

void to_json (nlohmann::json &R, const LexerCursor &LC)
 
void to_json (nlohmann::json &R, const LexerCursorRange &LCR)
 
void to_json (nlohmann::json &R, const PartialDiagnostic &D)
 
void to_json (nlohmann::json &R, const Diagnostic &D)
 
void to_json (nlohmann::json &R, const Note &N)
 
void to_json (nlohmann::json &R, const TextEdit &D)
 
void to_json (nlohmann::json &R, const Fix &F)
 
std::shared_ptr< Nodeparse (std::string_view Src, std::vector< Diagnostic > &Diags)
 Parse a string.
 

Detailed Description

Diagnostic.h, diagnostic types and definitions

Diagnostics are structures with a main message, and optionally some additional information (body).

For diagnostics with a body, they may need a special overrided function to format the message.

Typedef Documentation

◆ NixFloat

using nixf::NixFloat = double

Definition at line 13 of file Simple.h.

◆ NixInt

using nixf::NixInt = int64_t

Definition at line 12 of file Simple.h.

Enumeration Type Documentation

◆ DiagnosticTag

enum class nixf::DiagnosticTag
strong
Enumerator
Faded 
Striked 

Definition at line 74 of file Diagnostic.h.

Function Documentation

◆ parse()

std::shared_ptr< Node > nixf::parse ( std::string_view Src,
std::vector< Diagnostic > & Diags )

Parse a string.

Parameters
SrcThe string to parse.
DiagsDiagnostics will be appended to this vector.

Definition at line 37 of file ParseSupport.cpp.

References nixf::Parser::parse().

Referenced by main().

◆ to_json() [1/7]

void nixf::to_json ( nlohmann::json & R,
const Diagnostic & D )

◆ to_json() [2/7]

void nixf::to_json ( nlohmann::json & R,
const Fix & F )

◆ to_json() [3/7]

void nixf::to_json ( nlohmann::json & R,
const LexerCursor & LC )

Referenced by main().

◆ to_json() [4/7]

void nixf::to_json ( nlohmann::json & R,
const LexerCursorRange & LCR )

◆ to_json() [5/7]

void nixf::to_json ( nlohmann::json & R,
const Note & N )

◆ to_json() [6/7]

void nixf::to_json ( nlohmann::json & R,
const PartialDiagnostic & D )

◆ to_json() [7/7]

void nixf::to_json ( nlohmann::json & R,
const TextEdit & D )