Module: TRuby

Defined in:
lib/t_ruby/parser_combinator.rb,
lib/t_ruby.rb,
lib/t_ruby/ir.rb,
lib/t_ruby/cli.rb,
lib/t_ruby/cache.rb,
lib/t_ruby/config.rb,
lib/t_ruby/parser.rb,
lib/t_ruby/runner.rb,
lib/t_ruby/scanner.rb,
lib/t_ruby/version.rb,
lib/t_ruby/watcher.rb,
lib/t_ruby/compiler.rb,
lib/t_ruby/type_env.rb,
lib/t_ruby/benchmark.rb,
lib/t_ruby/diagnostic.rb,
lib/t_ruby/lsp_server.rb,
lib/t_ruby/smt_solver.rb,
lib/t_ruby/code_emitter.rb,
lib/t_ruby/ruby_version.rb,
lib/t_ruby/string_utils.rb,
lib/t_ruby/type_checker.rb,
lib/t_ruby/type_erasure.rb,
lib/t_ruby/doc_generator.rb,
lib/t_ruby/error_handler.rb,
lib/t_ruby/error_reporter.rb,
lib/t_ruby/package_manager.rb,
lib/t_ruby/type_inferencer.rb,
lib/t_ruby/version_checker.rb,
lib/t_ruby/heredoc_detector.rb,
lib/t_ruby/ast_type_inferrer.rb,
lib/t_ruby/runtime_validator.rb,
lib/t_ruby/union_type_parser.rb,
lib/t_ruby/constraint_checker.rb,
lib/t_ruby/bundler_integration.rb,
lib/t_ruby/generic_type_parser.rb,
lib/t_ruby/type_alias_registry.rb,
lib/t_ruby/diagnostic_formatter.rb,
lib/t_ruby/docs_badge_generator.rb,
lib/t_ruby/declaration_generator.rb,
lib/t_ruby/docs_example_verifier.rb,
lib/t_ruby/parser_combinator/dsl.rb,
lib/t_ruby/docs_example_extractor.rb,
lib/t_ruby/intersection_type_parser.rb,
lib/t_ruby/parser_combinator/parser.rb,
lib/t_ruby/parser_combinator/parse_error.rb,
lib/t_ruby/parser_combinator/type_parser.rb,
lib/t_ruby/parser_combinator/parse_result.rb,
lib/t_ruby/parser_combinator/combinators/map.rb,
lib/t_ruby/parser_combinator/primitives/fail.rb,
lib/t_ruby/parser_combinator/primitives/lazy.rb,
lib/t_ruby/parser_combinator/primitives/pure.rb,
lib/t_ruby/parser_combinator/token/token_dsl.rb,
lib/t_ruby/parser_combinator/token/token_map.rb,
lib/t_ruby/parser_combinator/combinators/many.rb,
lib/t_ruby/parser_combinator/primitives/regex.rb,
lib/t_ruby/parser_combinator/token/token_many.rb,
lib/t_ruby/parser_combinator/combinators/label.rb,
lib/t_ruby/parser_combinator/combinators/many1.rb,
lib/t_ruby/parser_combinator/token/token_label.rb,
lib/t_ruby/parser_combinator/token/token_many1.rb,
lib/t_ruby/parser_combinator/combinators/choice.rb,
lib/t_ruby/parser_combinator/combinators/sep_by.rb,
lib/t_ruby/parser_combinator/declaration_parser.rb,
lib/t_ruby/parser_combinator/primitives/literal.rb,
lib/t_ruby/parser_combinator/primitives/satisfy.rb,
lib/t_ruby/parser_combinator/token/token_parser.rb,
lib/t_ruby/parser_combinator/token/token_sep_by.rb,
lib/t_ruby/parser_combinator/combinators/sep_by1.rb,
lib/t_ruby/parser_combinator/token/token_matcher.rb,
lib/t_ruby/parser_combinator/token/token_sep_by1.rb,
lib/t_ruby/parser_combinator/combinators/flat_map.rb,
lib/t_ruby/parser_combinator/combinators/optional.rb,
lib/t_ruby/parser_combinator/combinators/sequence.rb,
lib/t_ruby/parser_combinator/token/token_optional.rb,
lib/t_ruby/parser_combinator/token/token_sequence.rb,
lib/t_ruby/parser_combinator/combinators/lookahead.rb,
lib/t_ruby/parser_combinator/combinators/chain_left.rb,
lib/t_ruby/parser_combinator/combinators/skip_right.rb,
lib/t_ruby/parser_combinator/token/statement_parser.rb,
lib/t_ruby/parser_combinator/token/token_skip_right.rb,
lib/t_ruby/parser_combinator/combinators/alternative.rb,
lib/t_ruby/parser_combinator/primitives/end_of_input.rb,
lib/t_ruby/parser_combinator/token/expression_parser.rb,
lib/t_ruby/parser_combinator/token/token_alternative.rb,
lib/t_ruby/parser_combinator/token/token_body_parser.rb,
lib/t_ruby/parser_combinator/token/token_parse_result.rb,
lib/t_ruby/parser_combinator/combinators/not_followed_by.rb,
lib/t_ruby/parser_combinator/token/token_declaration_parser.rb

Overview

Parser Combinator module for T-Ruby Provides both string-based and token-based parsing capabilities

Defined Under Namespace

Modules: CodeEmitter, IR, ParserCombinator, QuickBenchmark, RuntimeTypeChecks, SMT, StringUtils Classes: ASTTypeInferrer, BenchmarkSuite, BoundsConstraint, BundlerIntegration, CLI, CacheEntry, CircularTypeAliasError, CompilationProfiler, Compiler, Config, ConfigError, ConstrainedTypeRegistry, Constraint, ConstraintChecker, CrossFileTypeChecker, DeclarationCache, DeclarationGenerator, DeclarationLoader, DeclarationParser, DependencyResolver, Diagnostic, DiagnosticFormatter, DocGenerator, DocsBadgeGenerator, DocsExampleExtractor, DocsExampleVerifier, DuplicateTypeAliasError, EnhancedIncrementalCompiler, EqualityConstraint, ErrorHandler, ErrorReporter, FileCache, FlowContext, GenericTypeParser, HeredocDetector, IRCodeGenerator, IncrementalCompiler, InferredType, IntersectionTypeParser, LSPServer, LegacyTypeChecker, LengthConstraint, MemoryCache, NumericRangeConstraint, PackageManager, PackageManifest, PackageRegistry, ParallelProcessor, ParseCache, ParseError, Parser, PatternConstraint, PredicateConstraint, RemoteRegistry, RubyVersion, Runner, RunnerCLI, RuntimeTypeError, RuntimeValidator, SMTTypeChecker, Scanner, SemanticVersion, TypeAliasRegistry, TypeCheckError, TypeChecker, TypeEnv, TypeErasure, TypeHierarchy, TypeInferencer, TypeResolutionCache, TypeScope, UndefinedTypeError, UnionTypeParser, UnsupportedRubyVersionError, ValidationConfig, VersionChecker, VersionConstraint, Watcher

Constant Summary collapse

VERSION =
"0.0.46"
IDENTIFIER_CHAR =

Pattern for method names that supports Unicode characters pL matches any Unicode letter, pN matches any Unicode number

'[\p{L}\p{N}_]'
METHOD_NAME_PATTERN =
"#{IDENTIFIER_CHAR}+[?!]?".freeze
VISIBILITY_PATTERN =

Visibility modifiers for method definitions

'(?:(?:private|protected|public)\s+)?'