Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Suggested fixes for most of the issues I reported #231

Open
wants to merge 44 commits into
base: master
Choose a base branch
from

Commits on Oct 3, 2017

  1. Merge pull request #1 from RomanYankovsky/master

    Update from original
    JBontes authored Oct 3, 2017
    Configuration menu
    Copy the full SHA
    352c20a View commit details
    Browse the repository at this point in the history
  2. RomanYankovsky#220, RomanYankovsky#181

    Added an explicit anKind attribute containing `type` if there is an explicit type.
    jbontes committed Oct 3, 2017
    Configuration menu
    Copy the full SHA
    0df834c View commit details
    Browse the repository at this point in the history
  3. RomanYankovsky#221, record type params in the name

    Record type params (and other parts of the name explicitly in subnodes. Still record the full name in an attribute.
    jbontes committed Oct 3, 2017
    Configuration menu
    Copy the full SHA
    2400ab9 View commit details
    Browse the repository at this point in the history
  4. RomanYankovsky#222, use the anName attribute to store names exclusively

    Store all names in a ntName node with a anName attribute for consistency. A name is not a value, so it should not be stored in a value property.
    jbontes committed Oct 3, 2017
    Configuration menu
    Copy the full SHA
    c26af5a View commit details
    Browse the repository at this point in the history
  5. RomanYankovsky#223 Except else <> if else

    An except-else has very different semantics from an if-else. It needs a specialized node type.
    jbontes committed Oct 3, 2017
    Configuration menu
    Copy the full SHA
    12ca887 View commit details
    Browse the repository at this point in the history
  6. RomanYankovsky#226 Add support for forwarded object types

    Both class and object can be declared forward.
    jbontes committed Oct 3, 2017
    Configuration menu
    Copy the full SHA
    6f33800 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    8a9b20c View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    b7ec406 View commit details
    Browse the repository at this point in the history
  9. RomanYankovsky#229 Parse object type correctly

    jbontes committed Oct 3, 2017
    Configuration menu
    Copy the full SHA
    496edbb View commit details
    Browse the repository at this point in the history
  10. RomanYankovsky#225, optimization: use a set to keep track of attribut…

    …es in use by a node
    jbontes committed Oct 3, 2017
    Configuration menu
    Copy the full SHA
    0425ee9 View commit details
    Browse the repository at this point in the history
  11. RomanYankovsky#224 Optimization fetch correct operator record in O(1)…

    … time
    
    TOperators.GetItem uses a for loop to extract the correct OperatorsInfo record.
    This is inefficient. If you reorder the TSyntaxNodeType enumeration so that the operators are in the same order as OperatorsInfo then we can use a simple in statement.
    jbontes committed Oct 3, 2017
    Configuration menu
    Copy the full SHA
    76e4e81 View commit details
    Browse the repository at this point in the history
  12. RomanYankovsky#166 Forward declaration fixes

    Methods can be declared forward in the implementation section.
    Also the semicolon after forward is optional as per Turbo Pascal legacy.
    jbontes committed Oct 3, 2017
    Configuration menu
    Copy the full SHA
    8ad0174 View commit details
    Browse the repository at this point in the history
  13. RomanYankovsky#232 SyntaxNodeNames should be automatically derived fr…

    …om SyntaxNodeTypes
    
    The cool thing about this fix is that no changes are need to the rest of the code and it runs with the same performance as the old code.
    jbontes committed Oct 3, 2017
    Configuration menu
    Copy the full SHA
    09b4d92 View commit details
    Browse the repository at this point in the history
  14. The remainder of the fixes, issue to follow

    jbontes committed Oct 3, 2017
    Configuration menu
    Copy the full SHA
    8fb608d View commit details
    Browse the repository at this point in the history

Commits on Oct 5, 2017

  1. RomanYankovsky#216 reference to anonymoustype fixed. RomanYankovsky#237

    … resident external keyword added.
    
    Plus a few other small fixes.
    jbontes committed Oct 5, 2017
    Configuration menu
    Copy the full SHA
    f416308 View commit details
    Browse the repository at this point in the history

Commits on Oct 6, 2017

  1. RomanYankovsky#230 Variant records are now supported

    Also included are a few minor optimizations.
    jbontes committed Oct 6, 2017
    Configuration menu
    Copy the full SHA
    9226c1f View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c78a6d5 View commit details
    Browse the repository at this point in the history

Commits on Oct 12, 2017

  1. RomanYankovsky#242 subrange and enum should use anType attributes

    Also changes all attribute access to use the attribute property.
    jbontes committed Oct 12, 2017
    Configuration menu
    Copy the full SHA
    02195f1 View commit details
    Browse the repository at this point in the history
  2. RomanYankovsky#242 and RomanYankovsky#243

    jbontes committed Oct 12, 2017
    Configuration menu
    Copy the full SHA
    45c50a0 View commit details
    Browse the repository at this point in the history

Commits on Oct 13, 2017

  1. RomanYankovsky#243 retracted, uses in not allowed outside program or …

    …library
    jbontes committed Oct 13, 2017
    Configuration menu
    Copy the full SHA
    0160fc3 View commit details
    Browse the repository at this point in the history
  2. Fix for RomanYankovsky#246 varargs, RomanYankovsky#245 proc of object,

    …RomanYankovsky#244 automated section
    jbontes committed Oct 13, 2017
    Configuration menu
    Copy the full SHA
    cfa5cc3 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    21d2872 View commit details
    Browse the repository at this point in the history
  4. RomanYankovsky#248 static methodbinding

    jbontes committed Oct 13, 2017
    Configuration menu
    Copy the full SHA
    5e64775 View commit details
    Browse the repository at this point in the history
  5. RomanYankovsky#249 assembler inline directive

    jbontes committed Oct 13, 2017
    Configuration menu
    Copy the full SHA
    5c34b3d View commit details
    Browse the repository at this point in the history

Commits on Oct 14, 2017

  1. Configuration menu
    Copy the full SHA
    8ae51f0 View commit details
    Browse the repository at this point in the history

Commits on Oct 15, 2017

  1. RomanYankovsky#250 record constants are not recorded correctly

    This is esp. evident in the following example:
    const
      OperatorsInfo: array [0..2] of TOperatorInfo =
        ((Typ: ntAddr;         AssocType: atRight),
         (Typ: ntDeref;        AssocType: atLeft),
         (Typ: ntGeneric;      AssocType: atRight));
    
    All constants are incorrectly listed as one long list, instead of as separate records.
    jbontes committed Oct 15, 2017
    Configuration menu
    Copy the full SHA
    6d60707 View commit details
    Browse the repository at this point in the history

Commits on Oct 16, 2017

  1. Configuration menu
    Copy the full SHA
    7ef300f View commit details
    Browse the repository at this point in the history
  2. RomanYankovsky#252 record compiler directive

    jbontes committed Oct 16, 2017
    Configuration menu
    Copy the full SHA
    468a2be View commit details
    Browse the repository at this point in the history
  3. RomanYankovsky#35 More capable {$IF ... } handling

    It can parse arbitrarily complex expressions and also deal with more complex comparisons and floating point numbers.
    jbontes committed Oct 16, 2017
    Configuration menu
    Copy the full SHA
    602e980 View commit details
    Browse the repository at this point in the history

Commits on Oct 17, 2017

  1. RomanYankovsky#252 do not register compiler directives, unless the co…

    …mpiler can see them
    jbontes committed Oct 17, 2017
    Configuration menu
    Copy the full SHA
    e89593a View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    23637da View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    0f89a62 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    5fcd93f View commit details
    Browse the repository at this point in the history
  5. RomanYankovsky#255 Treat array of const correctly

    array of const is a special construct. `const` here is not an identifier.
    jbontes committed Oct 17, 2017
    Configuration menu
    Copy the full SHA
    bbbe2e2 View commit details
    Browse the repository at this point in the history

Commits on Oct 18, 2017

  1. Configuration menu
    Copy the full SHA
    793b098 View commit details
    Browse the repository at this point in the history
  2. RomanYankovsky#217 Record const [ref] atrtribute

    jbontes committed Oct 18, 2017
    Configuration menu
    Copy the full SHA
    1a15887 View commit details
    Browse the repository at this point in the history
  3. RomanYankovsky#256 Record @@ casting (for procedural variables)

    Added `@@` as a distinct operator.
    jbontes committed Oct 18, 2017
    Configuration menu
    Copy the full SHA
    a8ad741 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    0679a5f View commit details
    Browse the repository at this point in the history
  5. RomanYankovsky#257 small refinements.

    jbontes committed Oct 18, 2017
    Configuration menu
    Copy the full SHA
    644161a View commit details
    Browse the repository at this point in the history

Commits on Oct 19, 2017

  1. RomanYankovsky#258 type safe TOperators. RomanYankovsky#217 fix cor…

    …ruption of childnode list.
    jbontes committed Oct 19, 2017
    Configuration menu
    Copy the full SHA
    1e3101d View commit details
    Browse the repository at this point in the history
  2. RomanYankovsky#258 minor tweak

    jbontes committed Oct 19, 2017
    Configuration menu
    Copy the full SHA
    3f8415e View commit details
    Browse the repository at this point in the history

Commits on Oct 20, 2017

  1. RomanYankovsky#227 correct label processing, RomanYankovsky#217 Fix b…

    …ug in parameter processing introduced in the original 217 fix
    jbontes committed Oct 20, 2017
    Configuration menu
    Copy the full SHA
    959fe23 View commit details
    Browse the repository at this point in the history
  2. minor optimizations

    jbontes committed Oct 20, 2017
    Configuration menu
    Copy the full SHA
    c888a89 View commit details
    Browse the repository at this point in the history

Commits on Nov 2, 2018

  1. Configuration menu
    Copy the full SHA
    84a28d4 View commit details
    Browse the repository at this point in the history