Skip to content
GitLab
    • GitLab: the DevOps platform
    • Explore GitLab
    • Install GitLab
    • How GitLab compares
    • Get started
    • GitLab docs
    • GitLab Learn
  • Pricing
  • Talk to an expert
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
    • Switch to GitLab Next
    Projects Groups Topics Snippets
  • Register
  • Sign in
  • oga oga
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
    • Locked files
  • Issues 13
    • Issues 13
    • List
    • Boards
    • Service Desk
    • Milestones
    • Requirements
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Artifacts
    • Schedules
    • Test cases
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Model experiments
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Code review
    • Insights
    • Issue
    • Repository
  • Wiki
    • Wiki
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Yorick Peterse
  • ogaoga
  • Issues
  • #20
Closed
Open
Issue created May 14, 2014 by Yorick Peterse@yorickpeterseOwner

Syntax Error Handling

Oga should be capable of dealing with invalid XML/HTML up to a certain extend. To deal with this an input correction system would have to be implemented at the lowest level possible.

Initially I thought about implementing this between the lexer and the parser. The problem however is is that tokens from the lexer are emitted one by one instead as a whole. As a result of this you can not keep track of what context you're currently in without hindering performance. An alternative solution is to do this on parser (Racc) level.

Regardless of where it takes place this system should be capable of correcting most common mistakes. However, I don't want to sacrifice too much for the sake of forgiving invalid input. In other words, there has to be a balance between forgivingness and correctness.

Assignee
Assign to
Time tracking