nixd
Loading...
Searching...
No Matches
nixf Namespace Reference

Namespaces

namespace  detail

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 )

References to_json().

◆ to_json() [2/7]

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

References to_json().

◆ to_json() [3/7]

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

◆ to_json() [4/7]

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

References to_json().

◆ to_json() [5/7]

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

References to_json().

◆ to_json() [6/7]

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

References to_json().

◆ to_json() [7/7]

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

References to_json().